使os.listdir()列出完整路径

2024-05-03 13:32:40 发布

您现在位置:Python中文网/ 问答频道 /正文

请考虑以下代码:

files = sorted(os.listdir('dumps'), key=os.path.getctime)

目标是根据创建时间对列出的文件进行排序。但是,由于os.listdir只给出文件名,而不是键ie的绝对路径,os.path.getctime抛出一个异常

OSError: [Errno 2] No such file or directory: 'very_important_file.txt'

这种情况是否有解决方法,或者我需要编写自己的排序函数?


Tags: 文件pathkey代码目标排序os文件名
3条回答
files = sorted([os.path.join('dumps', file) for file in os.listdir('dumps')], key=os.path.getctime)

您可以使用glob

import os
from glob import glob
glob_pattern = os.path.join('dumps', '*')
files = sorted(glob(glob_pattern), key=os.path.getctime)
files = sorted(os.listdir('dumps'), key=lambda fn:os.path.getctime(os.path.join('dumps', fn)))

相关问题 更多 >