寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

如何利用python修改文件的创建时间,修改时间,访问时间

有时候想要修改一下文件的创建时间,修改时间,访问时间,转发的别人的,就不废话了,直接上python代码:

from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle
from win32file import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTING
from pywintypes import Time # 可以忽视这个 Time 报错
import time
 
 
def modifyFileTime(filePath, createTime, modifyTime, accessTime, offset):
  """
  用来修改任意文件的相关时间属性,时间格式:YYYY-MM-DD HH:MM:SS 例如:2019-02-02 00:01:02
  :param filePath: 文件路径名
  :param createTime: 创建时间
  :param modifyTime: 修改时间
  :param accessTime: 访问时间
  :param offset: 时间偏移的秒数,tuple格式,顺序和参数时间对应
  """
  try:
    format = "%Y-%m-%d %H:%M:%S" # 时间格式
    cTime_t = timeOffsetAndStruct(createTime, format, offset[0])
    mTime_t = timeOffsetAndStruct(modifyTime, format, offset[1])
    aTime_t = timeOffsetAndStruct(accessTime, format, offset[2])
 
    fh = CreateFile(filePath, GENERIC_READ | GENERIC_WRITE, 0, None, OPEN_EXISTING, 0, 0)
    createTimes, accessTimes, modifyTimes = GetFileTime(fh)
 
    createTimes = Time(time.mktime(cTime_t))
    accessTimes = Time(time.mktime(aTime_t))
    modifyTimes = Time(time.mktime(mTime_t))
    SetFileTime(fh, createTimes, accessTimes, modifyTimes)
    CloseHandle(fh)
    return 0
  except:
    return 1
 
 
def timeOffsetAndStruct(times, format, offset):
  return time.localtime(time.mktime(time.strptime(times, format)) + offset)
 
 
if __name__ == '__main__':
  # 需要自己配置
  cTime = "2022-07-18 10:00:00" # 创建时间
  mTime = "2022-07-18 10:00:00" # 修改时间
  aTime = "2022-07-18 10:00:00" # 访问时间
  fName = r"C:\Users\root\Desktop\xxx.pdf" # 文件路径,文件存在才能成功(可以写绝对路径,也可以写相对路径)
 
  offset = (0, 1, 2) # 偏移的秒数
 
  # 调用函数修改文件创建时间,并判断是否修改成功
  r = modifyFileTime(fName, cTime, mTime, aTime, offset)
  if r == 0:
    print('修改完成')
  elif r == 1:
    print('修改失败')


文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
VB.net开发的word转pdf的小工具
使用python把word转成pdf
文章推荐
免责声明
关于博主
开篇第一章
随机推荐
emlog YY统计插件不稳定修复测试
手机PK电脑?电脑VS手机?
留言
准备用心做个网站
emlog升级5.0.0
网事札想
Linux VS Windows 究竟哪个系统更好之思考
终于下雨了
是否我们都老了?
Win10更新后不显示文字
友情连接
春燕网络
谢润的博客
企安文档