我在文本文件中列出了文件名,如下所示:
20160703_042628_b.dat
20160705_034207_b.dat
20160706_035020_b.dat
20160707_032630_b.dat
20160708_042912_b.dat
20160709_033232_b.dat
20160710_034220_b.dat
我如何按日期对它们进行排序,只提取最新的一个?
答案 0 :(得分:1)
这将提取扩展名为.dat的所有文件的名称,并按名称对它们进行排序,并返回第一个值(最近的日期)。
import os
dat_files = filter(lambda x: x.endswith('.dat'), os.listdir('mydir'))
dat_files.sort()
dat_files[0]
如果您在文本文件中收到文件名,则以下代码可以使用。
f = open('dates.txt', 'r')
x = f.readlines()
x.sort()
x[0]
答案 1 :(得分:1)
import os
files = []
for file in os.listdir("/path/to/files/"):
if file.endswith(".dat"):
files.append(file)
sorted(files, reverse=True)[0]
您需要反转排序以弹出最新文件。
如果您无法访问系统,并且只有文件列表打印在文件中,请将条目读取并拆分为列表:
with open('list_of_files.txt','r') as f:
file = f.read().splitlines()
sorted(file, reverse=True)[0]