Как удалить файлы из директории, которые существуют больше 3х дней?
Как удалить те файлы из директории, которые существуют больше 3х дней
Решение должно работать на Windows10 и на Linux
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь кроссплатформенным модулем pathlib:
from pathlib import Path
from datetime import datetime as DT
def del_old_files(path, min_days=3, recursive=False, verbose=0):
p = Path(path)
glob_pattern = "**/*" if recursive else "*"
for f in p.glob(glob_pattern):
if (f.is_file()
and
(DT.now() - DT.fromtimestamp(f.stat().st_mtime)).days >= min_days):
if verbose > 0:
print(f"deleting: [{str(f)}]")
f.unlink()
Тест:
In [36]: del_old_files(r"C:\temp", min_days=2, verbose=1)
deleting: [C:\temp\top_1.5K_ALS_embeddings_clustered.html]
deleting: [C:\temp\top_als_embeddings.pkl]
PS данное решение проверяет дату модификации файла. Если вам надо проверять дату создания, то замените f.stat().st_mtime на f.stat().st_ctime