修改文件“创建日期”或者“修改日期”的一些方法

 在数字时代,文件的时间戳信息(包括创建日期和修改日期)对于文档管理、版本控制以及知识产权保护等方面都具有重要意义。然而,在某些特定情境下,我们可能需要修改这些时间戳信息,以满足特定的需求或解决特定的问题。本文将介绍有效的方法来修改文件的创建日期和修改日期,旨在帮助用户更好地管理文件时间信息,提高工作效率。

    废话不多说 我们直接上活...............

import pywintypes
import win32file
import win32con
import time

在Windows操作系统上,我们可以利用Python的pywin32扩展库来访问和操作Windows API。这些库提供了与Windows系统深入交互的能力,包括文件系统、注册表、进程管理等。对于修改文件的时间戳,我们将使用pywintypeswin32filewin32con

  • pywintypes:这个模块提供了一些与Windows数据类型对应的Python类型,用于在Python和Windows API之间传递数据。

  • win32file:这个模块提供了对Windows文件系统的低级访问,包括文件的创建、读取、写入、删除以及属性的获取和设置。

  • win32con:这个模块包含了大量的Windows常量,这些常量在调用Windows API时经常使用。

  • time:Python的内置模块,提供了各种与时间相关的函数。

new_creation_time = "2022-02-25 16:51:02"  ####要改为的时间new_time_struct = time.strptime(new_creation_time, '%Y-%m-%d %H:%M:%S') ####解析为一个时间结构

new_creation_timestamp = time.mktime(new_time_struct) #####时间结构转换为一个时间戳

new_creation_time_windows=pywintypes.Time(new_creation_timestamp)  ###转换为windows识别的文件时间格式

# 打开文件

file_handle = win32file.CreateFile(
   file_path, ##文件路径
   win32con.GENERIC_WRITE, ###访问模式(读、写等)这里使用的写入模式

       0,  # 不共享
   None, ##默认的安全属性
   win32con.OPEN_EXISTING, ###创建方式(打开现有、创建新文件等) 这里使用的是打开现有   

    0,#正常文件属性
   None ##无模板文件
)

win32file.SetFileTime(file_handle, new_creation_time_windows,None, None)

    • file_handle:已经打开的文件的句柄。

    • new_creation_time_windows:一个新的创建时间,应该是一个pywintypes.Time对象,表示你想要设置的文件的创建时间。

    • None:表示不修改最后访问时间和最后修改时间。

file_handle.close()   # 关闭文件

拓展

os.utime(file_path,current_access_time,new_modification_timestamp))  # 修改文件的最后修改时间和保持最后访问时间不变

os.stat(file_path)

current_stats = os.stat(file_path)
current_access_time = current_stats.st_atime##获取当前的最后访问时间

time.localtime(creation_time)##将一个时间戳转换为一个表示本地时间的对象

本人公众号也同时公布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值