系统:Windows 7
编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64
这个系列讲讲Python对时间及日期的操作
今天讲讲获取文件的修改时间
涉及模块:os,datetime,time
Part 1:场景说明
- 对一些列文件进行处理,需要有个日志,记录文件的一些信息
- 如下图文件修改时间,
2022/5/28 10:18
图1 文件示例
Part 2: 代码
import datetime
import time
import os
file_address = r"D:\**\example\3.txt"
modify_time = os.path.getmtime(file_address)
print("文件修改时间1", modify_time)
file_modify_time = time.ctime(modify_time)
print("文件修改时间2", file_modify_time)
# 返回的是utc时间
file_modify_time = time.gmtime(modify_time)
print("文件修改时间3", file_modify_time)
file_modify_time = datetime.datetime(*file_modify_time[:6])
print("文件修改时间4", file_modify_time)
hours_n = 8
hours_delta = datetime.timedelta(hours=hours_n)
bj_file_modify_time = file_modify_time + hours_delta
print("文件修改时间5", bj_file_modify_time)
图2 代码截图
图3 执行结果
Part 3:部分代码说明
os.path.getmtime(文件路径)
获取文件的修改时间,该方法返回的是一个实数,表示从时间原点(1970年1月1日)到文件修改时间经历的秒数time.ctime(时间戳)
把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式,格式为字符串time.gmtime(时间戳)
把一个时间戳(按秒计算的浮点数)转化为time.struct_time的形式,这里需要注意,默认转换的为UTC时区(0时区)的时间,与北京时间相差8个小时datetime.datetime(*file_modify_time[:6])
格式转换,转换为datetime,且只保留年月日时分秒- 最后得到的时间为
2022-05-28 10:18:54
,与文件修改时间一致
本文为原创作品,欢迎分享朋友圈
长按图片识别二维码,关注本公众号
Python 优雅 帅气
[[os.path.getmtime]] [[时间戳]] [[time.gmtime]]