Python:如果目录中有一定数量的文件,则按字母顺序删除文件

时间:2017-10-22 14:35:51

标签: python python-3.x

好吧,删除日期较小的文件(虽然我认为数字与字母相同)。例如,我们在一个名为“BOB”的目录中有以下文件:

10-10-2000.txt
11-10-2000.txt
12-10-2000.txt
13-10-2000.txt
14-10-2000.txt

但我只想要4,所以我需要删除最近的日期,即10-10-2000.txt。但是,这不能仅仅通过删除最近创建的文件来完成,因为10-10-2000.txt可能是在昨天制作的。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试从文件名创建日期时间对象,然后对它们进行比较。我不会为你写出你的代码,但有类似的东西:

import datetime as dt
file_names = ... # (maybe try os.listdir()?)
dates = []
for name in file_names:
    dates.append((name, dt.datetime.strptime(x, "%d-%m-%Y.txt")))
# ... logic to sort dates ...
os.remove(dates[0][0]) # if the sort worked, and your first result is the first date

如果您需要有关排序日期的帮助,请问我,但是您应该能够在有日期后使用基本比较运算符