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中的文档测试模块
Apr 28 Python
Python实现批量转换文件编码的方法
Jul 28 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
python 开发的三种运行模式详细介绍
Jan 18 Python
python下实现二叉堆以及堆排序的示例
Sep 29 Python
python从子线程中获得返回值的方法
Jan 30 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
python 的topk算法实例
Apr 02 Python
Python脚本调试工具安装过程
Jan 11 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 Python
python数字图像处理之对比度与亮度调整示例
Jun 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学习之PHP运算符
2006/10/09 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
php简单日历函数
2015/10/28 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
php查询及多条件查询
2017/02/26 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
Django异步任务之Celery的基本使用
2019/03/23 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
python 列表推导式使用详解
2019/08/29 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
优秀毕业生自荐信范文
2014/01/01 职场文书
初中数学教学反思
2014/01/16 职场文书
员工评语大全
2014/01/19 职场文书
服务之星获奖感言
2014/01/21 职场文书
国庆节标语大全
2014/10/08 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书