【Python】获取或修改 Windows 系统中文件的创建时间、修改时间和访问时间(os

您所在的位置:网站首页 怎么改vs文件的修改日期 【Python】获取或修改 Windows 系统中文件的创建时间、修改时间和访问时间(os

【Python】获取或修改 Windows 系统中文件的创建时间、修改时间和访问时间(os

2023-07-26 09:06| 来源: 网络整理| 查看: 265

引言

Windows 系统中的文件和时间有关的属性共有三个,分别是:创建时间、修改时间和访问时间。本文介绍如何利用 Python 编程获取或修改这三个属性。

提示 创建时间:指文件第一次创建的时间;修改时间:指文件上一次修改的时间;访问时间:指文件上一次访问的时间。 方法 获取时间属性 获取文件创建时间:os.path.getctime(path)(联想记忆:create);获取文件修改时间:os.path.getmtime(path)(联想记忆:modify);获取文件访问时间:os.path.getatime(path)(联想记忆:access)。 修改时间属性

os.utime 只能更改文件的修改时间和访问时间,而不能更改文件的创建时间。因此,我们这里统一使用 win32file 模块来修改文件的上述三个时间属性。

实验

首先,创建一个测试文件。

with open("test", "wb") as fp: pass

然后,鼠标右击查看其时间属性。

在这里插入图片描述

通过如下代码获取其时间属性。

import os from datetime import datetime ctime = 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 '''

通过如下代码修改其时间属性。

import win32file from datetime import datetime new_ctime = datetime.strptime("2021-01-01 00:00:00", "%Y-%m-%d %H:%M:%S") new_mtime = datetime.strptime("2022-01-01 00:00:00", "%Y-%m-%d %H:%M:%S") new_atime = datetime.strptime("2023-01-01 00:00:00", "%Y-%m-%d %H:%M:%S") handle = win32file.CreateFile( "test", win32file.GENERIC_READ | win32file.GENERIC_WRITE, 0, None, win32file.OPEN_EXISTING, 0, 0, ) win32file.SetFileTime(handle, new_ctime, new_atime, new_mtime) # 注意这里的顺序,访问时间在前,修改时间在后 win32file.CloseHandle(handle)

重新查看时间属性,发现已修改。

在这里插入图片描述

参考 os.path.getctimeos.path.getmtimeos.path.getatimeos.utimewin32file.CreateFile


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3