基于时间的目录列表

时间:2010-12-21 14:58:18

标签: python directory

如何根据时间戳列出目录中的文件?

 os.listdir() 

以任意顺序列出。

是否有基于时间戳列出的内置函数?或任何订单?

2 个答案:

答案 0 :(得分:45)

您可以在每个文件上调用stat()并按其中一个时间戳排序,也许可以使用返回文件时间戳的键函数。

import os

def sorted_ls(path):
    mtime = lambda f: os.stat(os.path.join(path, f)).st_mtime
    return list(sorted(os.listdir(path), key=mtime))

print(sorted_ls('documents'))

答案 1 :(得分:0)

我的直接解决方案是,

 >>> import commands
 >>> a = commands.getstatusoutput("ls -ltr | awk '{print $9}'")
 >>> list  =a[1].split('\n')

根据蓝色指出的重复帖子,这是一个糟糕的解决方案;为什么不好?