写一个python程序,Windows要求删除指定目录下超过7天的文件、文件夹、压缩包并输出日志
时间: 2024-02-09 08:08:02 浏览: 77
好的,以下是一个可以实现你要求的 Python 程序:
```python
import os
import shutil
import time
# 待清理的目录路径
dir_path = r'C:\example\dir'
# 日志文件路径
log_path = r'C:\example\log.txt'
# 获取当前时间
now = time.time()
# 遍历目录并删除过期文件和文件夹
for root, dirs, files in os.walk(dir_path):
for file in files:
file_path = os.path.join(root, file)
# 获取文件的最后修改时间
mtime = os.path.getmtime(file_path)
# 如果文件超过7天未修改,则删除
if now - mtime > 7 * 24 * 3600:
os.remove(file_path)
with open(log_path, 'a') as f:
f.write(f'Deleted file: {file_path}\n')
for dir in dirs:
dir_path = os.path.join(root, dir)
# 获取文件夹的最后修改时间
mtime = os.path.getmtime(dir_path)
# 如果文件夹超过7天未修改,则删除
if now - mtime > 7 * 24 * 3600:
shutil.rmtree(dir_path)
with open(log_path, 'a') as f:
f.write(f'Deleted directory: {dir_path}\n')
# 删除过期压缩包
for file in os.listdir(dir_path):
file_path = os.path.join(dir_path, file)
# 如果文件是压缩包且超过7天未修改,则删除
if os.path.isfile(file_path) and file.endswith('.zip') and now - os.path.getctime(file_path) > 7 * 24 * 3600:
os.remove(file_path)
with open(log_path, 'a') as f:
f.write(f'Deleted zip file: {file_path}\n')
```
这个程序会遍历指定目录下的所有文件和文件夹,如果它们的最后修改时间超过7天,则会将其删除。同时,如果目录下存在扩展名为 .zip 的文件并且最后修改时间超过7天,则也会被删除。程序会将所有删除操作的详细信息记录到指定的日志文件中。
阅读全文