python 两种方法修改文件的创建时间、修改时间、访问时间


Posted in Python onSeptember 26, 2020

突如其来想知道一下 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 = "2019-12-13 21:51:02" # 创建时间
  mTime = "2019-02-02 00:01:03" # 修改时间
  aTime = "2019-02-02 00:01:04" # 访问时间
  fName = r"E:\test_pro\fileOperate\test.xlsx" # 文件路径,文件存在才能成功(可以写绝对路径,也可以写相对路径)

  offset = (0, 1, 2) # 偏移的秒数(不知道干啥的)

  # 调用函数修改文件创建时间,并判断是否修改成功
  r = modifyFileTime(fName, cTime, mTime, aTime, offset)
  if r == 0:
    print('修改完成')
  elif r == 1:
    print('修改失败')

方案二(无法修改文件创建时间)

可以去这里http://tools.3water.com/code/unixtime/转换时间,也可以自己处理时间戳与格式化时间

import os

file_path = "pip.txt"
print(os.stat(file_path))
# os.stat_result(
#  st_mode=33206,
#  st_ino=2251799813766228,
#  st_dev=3050226722,
#  st_nlink=1,
#  st_uid=0,
#  st_gid=0,
#  st_size=851,
#  st_atime=1576241919,
#  st_mtime=1574385498,
#  st_ctime=1576241919,
# )

# 只能修改 访问时间 与 修改时间(暂不知道怎么修改创建时间)
os.utime(file_path, (1576335480, 1576335480))
print(os.stat(file_path))
# os.stat_result(
# st_mode=33206,
# st_ino=2251799813766228,
# st_dev=3050226722,
# st_nlink=1,
# st_uid=0,
# st_gid=0,
# st_size=851,
# st_atime=1576335480,
# st_mtime=1576335480,
# st_ctime=1576241919,
# )

以上就是python 两种方法修改文件的创建时间、修改时间、访问时间的详细内容,更多关于python 修改文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python定时器(Timer)用法简单实例
Jun 04 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
python 标准差计算的实现(std)
Jul 29 Python
Python pandas用法最全整理
Aug 04 Python
基于python操作ES实例详解
Nov 16 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
Python文件时间操作步骤代码详解
Apr 13 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
python中validators库的使用方法详解
Sep 23 Python
如何使用Python调整图像大小
Sep 26 #Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 #Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 #Python
详解Python中第三方库Faker
Sep 25 #Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 #Python
python连接mysql数据库并读取数据的实现
Sep 25 #Python
Python3如何使用tabulate打印数据
Sep 25 #Python
You might like
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
node.js超时timeout详解
2014/11/26 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
javascript实现下雨效果
2017/03/27 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Python列表切片操作实例总结
2019/02/19 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
Python新手学习装饰器
2020/06/04 Python
Python csv文件记录流程代码解析
2020/07/16 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
农民入党思想汇报
2014/01/03 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
转学证明范本
2015/06/19 职场文书
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL