1

我有以下目录结构:

/年/月/日/file.txt

我想要的是删除 /year/month/day 大于 x 天数的整个目录。

此外,如果 x 天数超过了当月的天数,它会删除上个月的 day/ 文件夹。

例如:如果今天是 1 月 15 日,并且要删除的 x 天数是 20,那么脚本应该删除除 12 月的最后 5 天之外的所有内容。

有任何想法吗?

4

1 回答 1

3
for year in os.listdir('.'):
    for month in os.listdir(year):
        for day in os.listdir(os.path.join(year, month)):
            date = datetime.date(int(year), int(month), int(day))

现在您可以在date课堂上使用实用程序。当您决定删除整个目录时,请使用shutil.rmtree.

例如:

today = datetime.date.today()
for year in os.listdir('.'):
    for month in os.listdir(year):
        for day in os.listdir(os.path.join(year, month):
            date = datetime.date(int(year), int(month), int(day))
            age = today - date
            if age > datetime.timedelta(days=20):
                shutil.rmtree(os.path.join(year, month, day))
于 2013-10-16T01:14:47.217 回答