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捕捉和模拟鼠标事件的方法
Jun 03 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
Dec 25 Python
老生常谈Python序列化和反序列化
Jun 28 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
Django实现跨域的2种方法
Jul 31 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
python 字段拆分详解
Dec 17 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 Python
Python使用scapy模块发包收包
May 07 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
解决中英文字符串长度问题函数
2007/01/16 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
基于php-fpm的配置详解
2013/06/03 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
Myholidays美国:在线旅游网站
2019/08/16 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
清洁工岗位职责
2014/01/29 职场文书
商场消防演习方案
2014/02/12 职场文书
《狼》教学反思
2014/03/02 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
会计实训报告范文
2014/11/04 职场文书
教师工作表现自我评价
2015/03/05 职场文书
怎样写观后感
2015/06/19 职场文书