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实现根据主机名字获得所有ip地址的方法
Jun 28 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
python分割列表(list)的方法示例
May 07 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
python实现list由于numpy array的转换
Apr 04 Python
在python中pandas读文件,有中文字符的方法
Dec 12 Python
python scp 批量同步文件的实现方法
Jan 03 Python
解决Django连接db遇到的问题
Aug 29 Python
python字符串的拼接方法总结
Nov 18 Python
详解Python多线程下的list
Jul 03 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
mysql 搜索之简单应用
2007/04/27 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python3使用urllib模块制作网络爬虫
2016/04/08 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
python opencv之分水岭算法示例
2018/02/24 Python
python和shell获取文本内容的方法
2018/06/05 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
Django Celery异步任务队列的实现
2019/07/24 Python
Python爬虫与反爬虫大战
2020/07/30 Python
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
建筑结构施工专业推荐信
2014/02/21 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
工作求职信
2014/07/04 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
2014年工程师工作总结
2014/11/25 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
暑期工社会实践报告
2015/07/13 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL