我想在扩展名为.bas的目录中创建这些文件的列表,这些文件在2011年6月1日之后被修改。此外,我还想知道如何选择将列表中的文件与上次修改文件的日期和时间一起显示,例如“filename.bas 2011-06-04_AM.00.30”
我是个Python新手。我可以使用以下代码列出扩展名为.bas、按日期排序的文件:
from stat import S_ISREG, ST_CTIME, ST_MODE
import os, sys, time, glob
search_dir = r"e:\test"
files = filter(os.path.isfile, glob.glob(search_dir + "\\*.bas"))
files.sort(key=lambda x: os.path.getmtime(x))
但我不知道如何将“date”附加到列表中的文件名中。
如有任何建议,将不胜感激。
收集元组列表中的文件和日期,并按日期元素对该列表进行排序。下面是示例代码,其中的注释应该足以理解它:
或者,您可以使用列表理解使代码更紧凑和干净。。。
这两行代码将替换第一个示例中的所有
for
循环。现在如果你想在列表中是一个带有文件名和日期格式的字符串,那么。。。添加此导入。。。
还有另一行与此列表理解有关,它接受修改时间戳并将其格式化为字符串。
要反转排序顺序,请在
sort
执行中使用可选参数reverse
:将日期限制在特定的
datetime
如您所见,您可以在列表理解中添加一个
if
条件,这非常酷。相关问题 更多 >
编程相关推荐