我有以下目录结构:
/year/month/day/file.txt
我希望删除/年/月/日大于x天数的整个目录。
此外,如果x天数超过当月的天数,则会删除上个月的日期/文件夹。
例如:如果今天是1月15日,并且x要删除的天数是20,则脚本应该删除除了12月的最后5天之外的所有内容。
有什么想法吗?
答案 0 :(得分: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))