首页 >后端开发 >Python教程 >如何使用 Python 获取目录中按创建日期排序的文件列表?

如何使用 Python 获取目录中按创建日期排序的文件列表?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-09 12:02:02822浏览

How can I get a sorted list of files in a directory by creation date using Python?

使用 Python 获取按创建日期排序的目录列表

导航目录时,经常需要获取排序后的内容列表根据特定标准,例如创建日期。在Python中,这个任务可以轻松完成。

建议方法:

为了实现这一点,Python内置的文件系统操作模块和排序功能的组合是受雇。以下代码片段说明了此过程:

import glob
import os

search_dir = "/mydir/"
files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))

此代码片段首先使用 os.listdir() 获取指定目录中的所有文件的列表。随后,使用 os.path.isfile() 过滤掉任何非文件项(例如目录、链接)。为了确保正确的文件路径,每个文件名都以搜索目录路径为前缀。

然后使用 os.path.getmtime() 函数根据文件的修改时间对文件进行排序。该函数以数字格式返回文件的最后修改时间。通过将此函数作为关键参数传递给排序()函数,文件将按时间顺序排列,最近创建的文件首先出现。

替代方法:

另一种方法是利用 glob 模块来过滤文件并获取绝对文件路径列表:

import glob
import os

search_dir = "/mydir/"
# This glob will look for all files and exclude any directories
files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))

此代码本质上搜索指定目录及其子目录的全部内容,包括所有文件并排除任何目录。如果需要,glob.glob() 函数允许更灵活的文件名匹配。

以上是如何使用 Python 获取目录中按创建日期排序的文件列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn