次のディレクトリ構造があります。
/年/月/日/file.txt
私がしたいのは、/年/月/日がx日よりも大きいディレクトリ全体を削除することです。
さらに、x の日数が当月の日数を超えた場合、前の月から日/フォルダーが削除されます。
例: 今日が 1 月 15 日で、削除する x 日数が 20 の場合、スクリプトは 12 月の最後の 5 日間を除くすべてを削除する必要があります。
何か案は?
次のディレクトリ構造があります。
/年/月/日/file.txt
私がしたいのは、/年/月/日がx日よりも大きいディレクトリ全体を削除することです。
さらに、x の日数が当月の日数を超えた場合、前の月から日/フォルダーが削除されます。
例: 今日が 1 月 15 日で、削除する x 日数が 20 の場合、スクリプトは 12 月の最後の 5 日間を除くすべてを削除する必要があります。
何か案は?
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))