首页 > 编程知识 正文

Python中文件修改时间的相关内容

时间:2023-11-20 09:40:18 阅读:300981 作者:KIAZ

在Python中,可以通过使用os模块来获取和修改文件的修改时间。本文将从多个方面对Python中文件修改时间进行详细阐述。

一、获取文件的修改时间

通过使用os模块的stat()函数,可以获取到文件的修改时间。具体代码如下:

import os
import time

file_path = "/path/to/file.txt"
file_stat = os.stat(file_path)
modified_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(file_stat.st_mtime))

print(f"文件 {file_path} 的修改时间为:{modified_time}")

上述代码中,我们首先使用os.stat()函数获取到文件的状态信息,然后通过st_mtime属性获取到文件的修改时间戳。最后,利用time模块的strftime()函数将时间戳格式化为指定的日期时间格式。

二、修改文件的修改时间

有时候我们需要手动修改文件的修改时间,可以通过使用os模块的utime()函数实现。具体代码如下:

import os
import time

file_path = "/path/to/file.txt"
new_time = time.time() - 3600 # 假设需要将修改时间修改为1小时前

os.utime(file_path, (new_time, new_time))

print(f"文件 {file_path} 的修改时间已经修改为:{time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(new_time))}")

上述代码中,我们通过time模块的time()函数获取当前时间戳,并减去3600秒,得到一个小时前的时间戳。然后使用os模块的utime()函数将文件的修改时间修改为指定的时间戳。

三、获取文件夹下所有文件的修改时间

有时候我们需要获取一个文件夹下所有文件的修改时间,可以通过使用os模块的walk()函数实现。具体代码如下:

import os
import time

folder_path = "/path/to/folder"

for root, dirs, files in os.walk(folder_path):
    for file in files:
        file_path = os.path.join(root, file)
        file_stat = os.stat(file_path)
        modified_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(file_stat.st_mtime))
        print(f"文件 {file_path} 的修改时间为:{modified_time}")

上述代码中,我们通过os模块的walk()函数遍历文件夹下的所有文件,然后使用os.path.join()函数将文件夹路径和文件名拼接成完整的文件路径。接着使用os.stat()函数获取文件的状态信息,再通过time模块的strftime()函数将时间戳格式化成指定的日期时间格式。

四、总结

通过以上代码示例,我们可以轻松地在Python中获取和修改文件的修改时间。无论是获取单个文件还是批量获取文件夹下的所有文件,都可以通过使用os模块和time模块来实现。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。