在 Python 中,可以使用 os 模块中的 remove() 方法来删除文件。如果需要定时删除文件,可以结合使用 Python 的 datetime 和 time 模块。
需要导入相关模块:
import os
import time
from datetime import datetime, timedelta
可以定义一个函数来删除指定目录下指定时间之前创建或修改过的文件:
def delete_files(path, days):
now = datetime.now()
cutoff = now - timedelta(days=days)
for root, dirs, files in os.walk(path):
for file in files:
full_path = os.path.join(root, file)
stat = os.stat(full_path)
mtime = datetime.fromtimestamp(stat.st_mtime)
if mtime < cutoff:
os.remove(full_path)
print(f"Deleted {full_path}")
该函数接受两个参数:要删除文件的路径和要保留文件的天数。函数会递归遍历指定目录下的所有文件和子目录,并检查每个文件的修改时间是否早于指定天数。如果是,则删除该文件并打印一条日志消息。
可以使用 time.sleep() 方法来让程序等待一段时间后再执行删除操作。例如,以下代码会每隔 24 小时删除一次 /tmp 目录下 30 天之前的文件:
while True:
delete_files('/tmp', 30)
time.sleep(24 * 60 * 60)
以上就是如何使用 Python 定时删除文件的方法。通过结合 datetime 和 time 模块,可以实现非常灵活和精确的定时删除操作。