广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python两种方法读取、修改文件的创建时间、修改时间、访问时间
  • 745
分享到

python两种方法读取、修改文件的创建时间、修改时间、访问时间

python开发语言 2023-09-04 05:09:45 745人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

看到网上有人出于特种目前,需要修改文件的创建时间和修改时间(访问时间是只要在操作系统里打开文件,系统就会自动更改最后的访问时间,因此此时间无意义,于是在网上查阅结合自己的经验,归纳 一下可行方案,在 python 中修改文件的属性(创建、修

看到网上有人出于特种目前,需要修改文件的创建时间和修改时间(访问时间是只要在操作系统里打开文件,系统就会自动更改最后的访问时间,因此此时间无意义,于是在网上查阅结合自己的经验,归纳 一下可行方案,在 python 中修改文件的属性(创建、修改、访问时间)里有两种方法:

相关概念:

  • 创建时间:指文件第一次创建的时间;
  • 修改时间:指文件上一次修改的时间;
  • 访问时间:指文件上一次访问的时间。

方法一、用os.utime 可以读取文件的创建、修改、访问时间,但是只能更改文件的修改时间和访问时间,而不能更改文件的创建时间。

读取文件时间属性:

import osfrom datetime import datetimectime = os.path.getctime("test") #创建时间ctime_string = datetime.fromtimestamp(int(ctime))mtime = os.path.getmtime("test") #修改时间mtime_string = datetime.fromtimestamp(int(ctime))atime = os.path.getatime("test") #修改时间atime_string = datetime.fromtimestamp(int(ctime))print(    f"创建时间:{ctime_string}",     f"修改时间:{mtime_string}",     f"访问时间:{atime_string}",     sep="\n")'''输出创建时间:2022-09-18 23:24:06修改时间:2022-09-18 23:24:06访问时间:2022-09-18 23:24:06'''

当然也可以用os.stat来读取

#!/usr/bin/Python# -*- coding: UTF-8 -*-import os, sys# 显示文件的 stat 信息stinfo = os.stat('a2.py')print stinfo# 使用 os.stat 来接收文件的访问和修改时间print "a2.py 的访问时间: %s" %stinfo.st_atimeprint "a2.py 的修改时间: %s" %stinfo.st_mtime# 修改访问和修改时间os.utime("a2.py",(1330712280, 1330712292))print "done!!"

更改文件时间属性:

os.utime() 方法用于设置指定路径文件最后的修改和访问时间。

utime()方法语法格式如下:os.utime(path, times),

  • times -- 如果时间是 None, 则文件的访问和修改设为当前时间 。 否则, 时间是一个 2-tuple数字, (atime, mtime) 用来分别作为访问和修改的时间。

import os file_path = "pip.txt"print(os.stat(file_path))# os.stat_result(#  st_mode=33206,#  st_ino=2251799813766228,#  st_dev=3050226722,#  st_nlink=1,#  st_uid=0,#  st_gid=0,#  st_size=851,#  st_atime=1576241919,#  st_mtime=1574385498,#  st_ctime=1576241919,# ) # 只能修改 访问时间 与 修改时间(不能修改创建时间)os.utime(file_path, (1576335480, 1576335480))print(os.stat(file_path))

二、用python三方库 win32file的API

from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandlefrom win32file import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTINGfrom pywintypes import Time # 可以忽视这个 Time 报错(运行程序还是没问题的)import timedef modifyFileTime(filePath, createTime, modifyTime, accessTime, offset):  """  用来修改任意文件的相关时间属性,时间格式:YYYY-MM-DD HH:MM:SS 例如:2019-02-02 00:01:02  :param filePath: 文件路径名  :param createTime: 创建时间  :param modifyTime: 修改时间  :param accessTime: 访问时间  :param offset: 时间偏移的秒数,tuple格式,顺序和参数时间对应  """  try:    fORMat = "%Y-%m-%d %H:%M:%S" # 时间格式    cTime_t = timeOffsetAndStruct(createTime, format, offset[0])    mTime_t = timeOffsetAndStruct(modifyTime, format, offset[1])    aTime_t = timeOffsetAndStruct(accessTime, format, offset[2])    fh = CreateFile(filePath, GENERIC_READ | GENERIC_WRITE, 0, None, OPEN_EXISTING, 0, 0)    createTimes, accessTimes, modifyTimes = GetFileTime(fh)    createTimes = Time(time.mktime(cTime_t))    accessTimes = Time(time.mktime(aTime_t))    modifyTimes = Time(time.mktime(mTime_t))    SetFileTime(fh, createTimes, accessTimes, modifyTimes)    CloseHandle(fh)    return 0  except:    return 1def timeOffsetAndStruct(times, format, offset):  return time.localtime(time.mktime(time.strptime(times, format)) + offset)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"E:\test_pro\fileOperate\test.xlsx" # 文件路径,文件存在才能成功(可以写绝对路径,也可以写相对路径)  offset = (0, 1, 2) # 偏移的秒数(不知道干啥的)  # 调用函数修改文件创建时间,并判断是否修改成功  r = modifyFileTime(fName, cTime, mTime, aTime, offset)  if r == 0:    print('修改完成')  elif r == 1:    print('修改失败')

来源地址:https://blog.csdn.net/kingdsq/article/details/128154290

--结束END--

本文标题: python两种方法读取、修改文件的创建时间、修改时间、访问时间

本文链接: https://www.lsjlt.com/news/392997.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python两种方法读取、修改文件的创建时间、修改时间、访问时间
    看到网上有人出于特种目前,需要修改文件的创建时间和修改时间(访问时间是只要在操作系统里打开文件,系统就会自动更改最后的访问时间,因此此时间无意义,于是在网上查阅结合自己的经验,归纳 一下可行方案,在 python 中修改文件的属性(创建、修...
    99+
    2023-09-04
    python 开发语言
  • python获取文件修改时间与创建时间
    转载自:  http://blog.csdn.net/liyuan_669/article/details/25347037 import os import time  y = time.ctie(os.stat("D:\\test\...
    99+
    2023-01-31
    时间 文件 python
  • C# 修改文件的创建、修改和访问时间的示例
    目录File 类举例说明C#FileInfo类签名C#FileInfo构造函数C#FileInfo属性C#FileInfo方法举例说明C#实现修改文件的创建、修改和访问时间方法,主要...
    99+
    2022-11-12
  • 使用golang获取linux上文件的访问/创建/修改时间
    在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat。 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少。 这是os.Stat的原型: func ...
    99+
    2022-06-04
    golang linux linux 文件访问 linux 文件创建 linux 文件修改时间
  • Python中怎么获取文件的创建和修改时间
    这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。# 参数 file: 待处理文件的绝对路径# retuen: listim...
    99+
    2023-06-02
  • python怎么获取文件修改时间
    使用python获取文件修改时间的方法:1.新建python项目;2.导入os和time模块;3.使用open()函数打开文件;4.使用os.path.getmtime()方法获取修改时间;具体步骤如下:首先,打开python,并新建一个p...
    99+
    2022-10-05
  • mybatis plus表的创建时间和修改时间的操作方法
    1、建议一定使用字段 gmt_create和gmt_modified 字段的类型datetime 方法一、在实体类的注解上添加操作 (1)创建对应的数据表,注意字段的类型date...
    99+
    2022-11-12
  • Linux 修改系统时间的两种方式
    一:更新系统时间的方式 1、手动修改 通过相关工具来手动修改系统的时间。 2、自动同步 使用NTP自动同步系统时间。 二:手动修改系统时间 1、date工具 作用:显示和设置系统时间 选项: -d 显示字符串所指的日期与时间,比如:"-...
    99+
    2023-08-17
    linux 运维 服务器 java
  • 使用C#怎么修改文件的创建和修改时间
    本篇文章为大家展示了使用C#怎么修改文件的创建和修改时间,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。File 类命名空间:System.IO程序集:System.IO.FileSystem.dll...
    99+
    2023-06-14
  • python中如何获取文件的修改时间
    python中获取文件修改时间的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、输入“import os,time”指令导入os模块和time模块;5、通过“os.pa...
    99+
    2022-10-19
  • cmd命令实现修改文件创建时间
    在文件夹的右键菜单添加“dos在这里” 要在文件夹的右键菜单中添加“命令提示符”选项。在注册表HKEY_CLASSES_ROOT\Directory\shell分支下新建一项“Com...
    99+
    2022-11-21
    cmd 文件创建时间
  • 如何使用cmd命令修改文件创建时间
    这期内容当中小编将会给大家带来有关如何使用cmd命令修改文件创建时间,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在文件夹的右键菜单添加“dos在这里” 要在文件夹的右键菜单中添加“命令提示符”选项。在注...
    99+
    2023-06-08
  • python修改操作系统时间的方法
    时间:2015-07-07 14:03 来源:网管之家整理 字体:[大 中 小] 评论:0 本文实例讲述了python修改操作系统时间的方法。分享给大家供大家参考。具体实现方法如下: #-*- coding:utf-8 -...
    99+
    2023-01-31
    操作系统 时间 方法
  • php如何获取图片文件的修改时间
    这篇文章主要介绍php如何获取图片文件的修改时间,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP中可使用filectime()函数来获取图片文件的修改时间,该函数可以返回指定文件的最后修改时间,语法格式“file...
    99+
    2023-06-14
  • dedeCms批量修改文章发布时间的方法
    有时候我们对于一个网站源码里面的文章发布时间日期需要进行修改,但是一个一个的修改是不现实的,那么此时就需要批量修改文章发布时间。1、首先是SQL语句: 复制代码代码如下:update dede_archives set ...
    99+
    2022-06-12
    dedeCms 修改 时间 方法
  • 织梦DEDECMS缓存文件时间长度的修改方法
    本文实例讲述了织梦DEDEcms缓存文件时间长度的修改方法。分享给大家供大家参考。具体方法如下: 织梦DEDECMS默认对部分信息使用了缓存功能,以便加速网站访问,提高网站性能,但在做网站时,常常会遇到很多即时调用信息的...
    99+
    2022-06-12
    织梦 DEDECMS 缓存文件 时间长度 修改方法
  • dedecms编辑修改文章后使发布时间更新为最新时间的解决方法
    在使用dedecms程序的时候,我们经常会编辑会修改文章,通常发布之后时间为最新的当前时间,但是dedecms默认的时间还是以前的发布时间,我们如何来实现编辑文章后使发布时间自动变为当前最新时间呢?而且文章会自动更新到最...
    99+
    2022-06-12
    dedecms 修改文章 最新时间
  • dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件
    这篇文章给大家介绍dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。核心代码:@echo off:: by oicu#lsxk....
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作