使用 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() 函数允许更灵活的文件名匹配。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3