python如何修改文件时间属性


Posted in Python onFebruary 05, 2021

1、获取文件的创建、修改、访问时间

# -*- encoding=utf-8 -*-
import os
import time


def get_file_time(filename):
  filename = os.path.abspath(filename)
  create_time = os.path.getctime(filename) # 创建时间
  print('old create time:{}'.format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(create_time))))
  update_time = os.path.getmtime(filename) # 修改时间
  print('old update time:{}'.format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(update_time))))
  access_time = os.path.getatime(filename) # 访问时间
  print('old access time:{}'.format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(access_time))))
  return create_time, update_time, access_time


if __name__ == '__main__':
  get_file_time('E:/a.txt')

python如何修改文件时间属性

python如何修改文件时间属性

 2、更改文件的修改、访问时间(创建时间没查到怎么修改,暂时不记录)

# -*- encoding=utf-8 -*-
import os
import time

def set_file_time(filename, updatetime, access_time):
  # 先传修改时间,再传访问时间
  filename = os.path.abspath(filename)
  new_updatetime = time.mktime(time.strptime(updatetime, '%Y-%m-%d %H:%M:%S'))
  new_access_time = time.mktime(time.strptime(access_time, '%Y-%m-%d %H:%M:%S'))
  os.utime(filename, (new_access_time, new_updatetime))


if __name__ == '__main__':
  set_file_time('E:/a.txt', '2018-01-08 10:50:20', '2019-07-15 04:03:01')

python如何修改文件时间属性

 3、放在同一个py方便直接复制使用

# -*- encoding=utf-8 -*-
import os
import time


def get_file_time(filename):
  filename = os.path.abspath(filename)
  # 创建时间
  create_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(os.path.getctime(filename)))
  # 修改时间
  update_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(os.path.getmtime(filename)))
  # 访问时间
  access_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(os.path.getatime(filename)))
  return create_time, update_time, access_time


def set_file_time(filename, updatetime, access_time):
  # 先传修改时间,再传访问时间
  filename = os.path.abspath(filename)
  new_update_time = time.mktime(time.strptime(updatetime, '%Y-%m-%d %H:%M:%S'))
  new_access_time = time.mktime(time.strptime(access_time, '%Y-%m-%d %H:%M:%S'))
  os.utime(filename, (new_access_time, new_update_time))


def debug():
  create_time, update_time, access_time = get_file_time('E:/a.txt')
  set_file_time('E:/a.txt', update_time, access_time)
  get_file_time('E:/a.txt')


if __name__ == '__main__':

  debug()

 4、补充修改文件的创建时间

import os
import time

from pywintypes import Time # 可以忽视这个 Time 报错(运行程序还是没问题的)
from win32con import FILE_FLAG_BACKUP_SEMANTICS
from win32con import FILE_SHARE_WRITE
from win32file import CloseHandle
from win32file import CreateFile
from win32file import GENERIC_WRITE
from win32file import OPEN_EXISTING
from win32file import SetFileTime


def modify_file_create_time(filename, create_time_str, update_time_str, access_time_str):
  try:
    format_str = "%Y-%m-%d %H:%M:%S" # 时间格式
    # f = CreateFile(filename, GENERIC_READ | GENERIC_WRITE, 0, None, OPEN_EXISTING, 0, 0)
    f = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE, None, OPEN_EXISTING,
            FILE_FLAG_BACKUP_SEMANTICS, 0)
    create_time = Time(time.mktime(time.strptime(create_time_str, format_str)))
    update_time = Time(time.mktime(time.strptime(update_time_str, format_str)))
    access_time = Time(time.mktime(time.strptime(access_time_str, format_str)))
    SetFileTime(f, create_time, update_time, access_time)
    CloseHandle(f)
    print('update file time success:{}/{}/{}'.format(create_time_str, update_time_str,
                             access_time_str))
  except Exception as e:
    print('update file time fail:{}'.format(e))


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"a.txt" # 可以是文件也可以是文件夹
  print(os.path.isdir(fName))
  modify_file_create_time(fName, cTime, mTime, aTime)

以上就是python如何修改文件时间属性的详细内容,更多关于python修改文件时间属性的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python装饰器使用示例及实际应用例子
Mar 06 Python
Python面向对象编程中的类和对象学习教程
Mar 30 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
TensorFlow如何实现反向传播
Feb 06 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
Python 处理图片像素点的实例
Jan 08 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
python设置环境变量的原因和方法
Jun 24 Python
用python写测试数据文件过程解析
Sep 25 Python
基于PyQT实现区分左键双击和单击
May 19 Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 Python
虚拟环境及venv和virtualenv的区别说明
Feb 05 #Python
Pycharm 如何一键加引号的方法步骤
Feb 05 #Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 #Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 #Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 #Python
python实现录制全屏和选择区域录屏功能
Feb 05 #Python
pycharm 使用anaconda为默认环境的操作
Feb 05 #Python
You might like
用PHP的ob_start();控制您的浏览器cache!
2007/02/14 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
python中os操作文件及文件路径实例汇总
2015/01/15 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
浅谈Python爬虫基本套路
2019/03/25 Python
通过cmd进入python的实例操作
2019/06/26 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
澳大利亚家庭花园和DIY工具网店:VidaXL
2019/05/03 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
必须要使用游标的SQL语句有那些
2012/05/07 面试题
新员工欢迎词
2014/01/12 职场文书
调解员先进事迹材料
2014/02/07 职场文书
工作总结与自我评价
2014/09/18 职场文书
旷课检讨书500字
2014/10/14 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
Python中使用ipython的详细教程
2021/06/22 Python