如果你想删除创建时间超过2小时的文件,此功能可配合Alist去阿里云删除小雅产生的临时文件。你可以在上述脚本的基础上添加删除文件的代码。以下是修改后的脚本:
import os
import time
import urllib.parse
from datetime import datetime, timedelta
from webdav3.client import Client
# WebDAV服务器配置
options = {
'webdav_hostname': "http://ybb.press", # 你的WebDAV服务器地址
'webdav_login': "username", # 你的用户名
'webdav_password': "password" # 你的密码
}
client = Client(options)
# 获取服务器上的所有文件
files = client.list()
# 遍历文件
for file in files:
# 检查文件或文件夹是否在根目录下
if file.count('/') > 1:
# 检查文件或文件夹是否存在
if client.check(file):
# 获取文件的创建时间
creation_time = client.info(file).created
# 如果文件的创建时间超过2小时
if datetime.now() - creation_time > timedelta(hours=2):
print(f"文件 {file} 的创建时间超过2小时,现在将其删除。")
#client.clean(file) # 删除文件
else:
print(f"文件或文件夹 {file} 不存在。")
else:
print(f"文件或文件夹 {file} 在根目录下,不会被删除。")
这个脚本会删除所有创建时间超过2小时的文件。请注意,删除文件是不可逆的操作,所以在运行这个脚本之前,一定要确保你想要删除这些文件。如果你只是想测试脚本,而不想真的删除文件,你可以先注释掉`client.clean(file)`这行代码,看看脚本是否能正确地找出所有创建时间超过2小时的文件。如果一切都正常,再取消注释,真的删除文件。在运行任何脚本之前,一定要确保你理解了它的工作原理,并且知道它会产生什么样的效果。
这个错误是因为Python找不到`webdav3`这个模块。你需要先安装这个模块才能运行脚本。你可以使用下面的命令来安装`webdav3`:
pip install webdavclient3
如果你的系统中同时安装了Python 2和Python 3,你可能需要使用`pip3`来安装。
pip3 install webdavclient3
发表评论 取消回复