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之再深点,更懂list
Sep 20 Python
python中requests模块的使用方法
Apr 08 Python
python开发之thread线程基础实例入门
Nov 11 Python
Python标准库06之子进程 (subprocess包) 详解
Dec 07 Python
快速了解Python中的装饰器
Jan 11 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
Python通过paramiko远程下载Linux服务器上的文件实例
Dec 27 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
python检测服务器端口代码实例
Aug 31 Python
python Protobuf定义消息类型知识点讲解
Mar 02 Python
python3中apply函数和lambda函数的使用详解
Feb 28 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发电子邮件
2006/10/09 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php加密解密实用类分享
2014/01/07 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
如何离线执行php任务
2017/02/21 PHP
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
js中new一个对象的过程
2017/02/20 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
Python3.x和Python2.x的区别介绍
2013/02/12 Python
Python实现抓取网页并且解析的实例
2014/09/20 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
Python+django实现简单的文件上传
2016/08/17 Python
Python装饰器语法糖
2019/01/02 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
python实现单机五子棋
2020/08/28 Python
python 如何将office文件转换为PDF
2020/09/22 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
比较基础的php面试题及答案-编程题
2012/10/14 面试题
市场营销毕业生自荐信
2013/11/23 职场文书
卖房协议书
2014/04/11 职场文书
项目合作协议书
2014/04/16 职场文书
班组拓展活动方案
2014/08/14 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
党员读书活动心得体会
2016/01/14 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Vue实现下拉加载更多
2021/05/09 Vue.js
Python 绘制多因子柱状图
2022/05/11 Python