基于时间的目录列表

vkr*_*ris 13 python directory

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

 os.listdir() 
Run Code Online (Sandbox Code Playgroud)

以任意顺序列出.

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

Har*_*ryM 49

您可以调用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'))
Run Code Online (Sandbox Code Playgroud)

  • 当然,lambdas基本上是无名的功能.他们可能在冒号之前接受参数(在这种情况下有一个:f,一个文件名).lambda的主体是单个表达式,其结果用作lambda的返回值.`sorted`函数采用可迭代(例如列表)并返回迭代器,而不是生成给定iterable的排序版本.为`key`关键字参数提供函数允许您按给定iterable中项的自然顺序之外的其他内容进行排序.在每个文件名上调用`mtime`函数,用于对列表进行排序. (6认同)