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中的私有属性
Aug 21 Python
python中的字典详细介绍
Sep 18 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Python的函数的一些高阶特性
Apr 27 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
python实现输入数字的连续加减方法
Jun 22 Python
python实现俄罗斯方块
Jun 26 Python
Python简易版停车管理系统
Aug 12 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 Python
python 6种方法实现单例模式
Dec 15 Python
python 批量压缩图片的脚本
Jun 02 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
基于mysql的论坛(2)
2006/10/09 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
php实现分页显示
2015/11/03 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
vuex实现购物车功能
2020/06/28 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
python时间time模块处理大全
2020/10/25 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
节约用水标语
2014/06/11 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
教师培训学习心得体会
2016/01/21 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技