突如其来想知道一下 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('修改失败')

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

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 两种方法修改文件的创建时间、修改时间、访问时间...相关推荐

  1. Linux 修改主机名的两种方法

    Linux 修改主机名的两种方法 一.使用Linux系统命令修改主机名 通过man获取帮助 hostnamectl 用法 修改 重启生效 二.通过修改配置文件修改主机名 编辑配置文件 修改 重启生效 ...

  2. python比较两个二进制文件_python三种方法判断文件是否为二进制文件

    两种方法判断文件是否为二进制文件,最准确的就是把这两种方法结合起来. (1)方法一: 它首先检查文件是否以BOM开始,如果不在初始8192字节内查找零字节: import codecs file_pa ...

  3. python自带的shell是什么-python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  4. python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...

    今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...

  5. python文字教程-Python在图片中添加文字的两种方法

    本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...

  6. Linux修改主机名的两种方法

    Linux修改主机名的两种方法 文章目录 先展示一下效果 一.通过hostname命令直接更改主机名(不是永久) 1.显示当前的主机名 2.更改主机名 二.通过修改配置文件(永久改) 1.hostna ...

  7. pyspark 读取csv文件创建DataFrame的两种方法

    pyspark 读取csv文件创建DataFrame的两种方法 方法一:用pandas辅助 from pyspark import SparkContext from pyspark.sql impo ...

  8. Win10计算机首次使用时间,Win10系统如何查看开机用时?Windows10系统查看开机时间的两种方法...

    一.系统自带功能 电脑接通电源进入Windows界面用时,实际上包括两个方面,一是BIOS所用时间,一是系统启动时间,所以Win10系统开机所用时间正确的算法是:BIOS启动用时+系统启动用时. 1. ...

  9. qt5设置linux系统时间,Qt中使用QLabel显示时间的两种方法

    Qt中使用QLabel显示时间的两种方法思路一致,只是实现方法不一样而已. main.cpp #include "displaytime.h" #include int main( ...

最新文章

  1. (C++)类内运算符重载时:此运算符函数的参数太多/少
  2. 聊聊jump consistent hash
  3. 自己的电脑上怎么用python-如何做一个任何电脑都能用的python程序?
  4. java前后端用json传值_前后端——json的传值与接收(springMvc)
  5. c语言程序设计现代方法第二版 第10章程序设计题3题,自己编写的一个程序
  6. LeetCode 1913. 两个数对之间的最大乘积差
  7. font: 12px/1.5 Tahoma, Helvetica, Arial, sans-serif;
  8. poj2976(二分搜索,最大化平均值)
  9. mac配置OpenGL超级宝典(第7版)环境
  10. python中文近义词工具_python同义词替换-python中文近义词-python判断筛选同义词
  11. android n进入分屏代码分析_Android分屏多窗口的实践代码
  12. 操作系统学习-1. 操作系统的目标和作用
  13. Android开发中所需颜色的RGB值
  14. 设计数据密集型应用 第五章:复制
  15. div标签和span标签区别
  16. nao机器人行走速度_NAO机器人学习笔记(2)
  17. java实训项目-模拟自动挡汽车
  18. 股指期货到底平衡么(股指期货会强平么)
  19. 【空间计量经济学】中国31省省会地理距离矩阵
  20. 比MySQL快801倍,OLAP两大神器ClickHouse和Doris到底怎么选?

热门文章

  1. nginx -s reload命令
  2. 汽车防振橡胶隔离器安装座的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. javascript用while循环计算年利率5%,从1000元到5000元需要几年
  4. 《设计模式之美》学习笔记(一)
  5. 清晰认识何为产品经理
  6. 小H和迷宫(C++)
  7. html待办事项表格代码,jQuery待办事项列表
  8. 还有两天 Symbian Belle 就要和我们见面了!
  9. 面试官角度看简历和笔试,不得不吐的槽
  10. 关于大公司和小公司的选择