- 修改文件的访问时间和修改时间,可以使用os库中的utime函数,如下所示
os.utime(filePath, (new_date.timestamp(), new_date.timestamp()))
其中第二个参数是一个tuple,分别是访问时间和修改时间的时间戳,这个时间戳是一个整数,表示的是自1970年1月1日之后到秒数,可以使用datetime类的timestamp函数得到
- 修改文件的创建时间,需要使用win32file库和pywintypes库,如下所示
handle = win32file.CreateFile(filePath, win32file.GENERIC_WRITE, 0, None, win32file.OPEN_EXISTING, win32file.FILE_ATTRIBUTE_NORMAL, None)
win32file.SetFileTime(handle, pywintypes.Time(new_date))
- 首先使用win32file的CreateFile函数创建文件句柄,之后再使用win32file的SetFileTime函数修改其创建时间
- CreateFile中的参数依次为:文件路径,访问模式(读,写等,此处要写),共享模式,属性,创建或处理(此处是打开已存在的),文件属性(系统、存档、只读、只写等,此处NORMAL即可),模板文件
- SetFileTime函数可以同时修改文件的创建时间,访问时间和修改时间,参数依次为使用CreateFile创建的文件句柄,文件的创建时间,访问时间和修改时间,这里的时间都必须使用pywintypes格式的,生成方法时使用pywintypes.Time方法,其参数为一个datetime对象