写一个程序,定时删除某个文件夹下超过7天的文件
时间: 2024-02-05 12:14:13 浏览: 28
可以使用Python中的os和datetime模块来实现这个程序。
代码如下:
```python
import os
import datetime
def delete_old_files(folder_path, days=7):
"""
删除指定文件夹下超过指定天数的文件
:param folder_path: 文件夹路径
:param days: 天数,默认为7天
"""
# 获取当前时间
current_time = datetime.datetime.now()
# 遍历文件夹下的所有文件
for file_name in os.listdir(folder_path):
file_path = os.path.join(folder_path, file_name)
# 判断是否为文件
if os.path.isfile(file_path):
# 获取文件的创建时间
create_time = datetime.datetime.fromtimestamp(os.path.getctime(file_path))
# 计算文件与当前时间的时间差
time_delta = current_time - create_time
# 判断时间差是否大于指定天数
if time_delta.days > days:
os.remove(file_path)
print(f"已删除文件: {file_path}")
# 测试
if __name__ == '__main__':
folder_path = "C:/test"
delete_old_files(folder_path, days=7)
```
在上面的代码中,我们定义了一个名为`delete_old_files`的函数,该函数接受两个参数:文件夹路径和天数(默认为7天)。在函数中,我们首先获取当前时间,然后遍历指定文件夹下的所有文件,获取每个文件的创建时间,计算文件与当前时间的时间差,如果时间差大于指定天数,则删除该文件。
最后,我们在`if __name__ == '__main__':`的条件下,测试了一下该函数。