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的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
python机器学习理论与实战(五)支持向量机
Jan 19 Python
Python实现的生成格雷码功能示例
Jan 24 Python
Django框架实现分页显示内容的方法详解
May 10 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
梅尔倒谱系数(MFCC)实现
Jun 19 Python
Python Pandas 箱线图的实现
Jul 23 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
如何理解python面向对象编程
Jun 01 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 array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
javasctipt如何显示几分钟前、几天前等
2014/04/30 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
在vue中使用Base64转码的案例
2020/08/07 Javascript
从零学Python之hello world
2014/05/21 Python
python任务调度实例分析
2015/05/19 Python
Python输出带颜色的字符串实例
2017/10/10 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
自荐信结尾
2013/10/27 职场文书
家长给孩子的评语
2014/01/30 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
男人帮观后感
2015/06/18 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
一条慢SQL语句引发的改造之路
2022/03/16 MySQL