删除基于Epoch标识符的类似名称文件

时间:2017-06-27 19:37:05

标签: python

我正在寻找一种基于纪元标识符删除额外文件的方法。当我提取一堆报告时,有一些报道具有相同的名称但具有独特的时代。我想删除前一个,只保留目录中所有文件的最新报告。

离)

  1. file1-1498592006.csv
  2. file1-1498592004.csv
  3. 任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用set跟踪已经看过的文件名。然后可以删除任何重复项。

seen = set()
for file in sorted(os.listdir('/path/to/your/reports'), reverse=True):
    filename = file.rsplit('-', 1)[0]
    if filename not in seen:
        seen.add(filename)
    else:
        os.unlink(file)

您可以使用os.unlink删除附加内容。

感谢@Błotosmętek:您将按降序对文件进行排序,以保证只保留最新的报告。