如何根据时间戳列出目录中的文件?
os.listdir()
以任意顺序列出。
是否有基于时间戳列出的内置函数?或任何订单?
答案 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')
根据蓝色指出的重复帖子,这是一个糟糕的解决方案;为什么不好?