FTP 删除文件夹下所有文件
时间: 2023-12-18 16:03:40 浏览: 57
要删除FTP文件夹下的所有文件,可以使用递归的方式进行处理。首先,连接到FTP服务器并登录。然后,使用递归函数来遍历文件夹中的所有内容。在遍历过程中,判断当前项是文件还是文件夹。如果是文件夹,则递归调用函数来删除文件夹中的内容。如果是文件,则直接删除该文件。最后,退出当前文件夹并删除目标文件夹。
以下是一个示例代码,演示了如何删除FTP文件夹下的所有文件:
```python
from ftplib import FTP
def delete_files_in_folder(ftp, folder_path):
# 进入目标文件夹
ftp.cwd(folder_path)
# 获取目录中的文件和文件夹列表
items = []
ftp.dir(".", items.append)
for item in items:
# 判断当前项是文件还是文件夹
if "<DIR>" in item:
# 如果是文件夹,则递归调用函数删除文件夹中的内容
folder_name = item.split()[-1]
delete_files_in_folder(ftp, folder_name)
# 删除空文件夹
ftp.rmd(folder_name)
else:
# 如果是文件,则直接删除
file_name = item.split()[-1]
ftp.delete(file_name)
# 退出当前文件夹
ftp.cwd("..")
# 连接FTP服务器
ftp = FTP()
ftp.connect("ftp.example.com", 21)
ftp.login("username", "password")
# 删除目标文件夹下的所有文件
delete_files_in_folder(ftp, "/target_folder")
# 关闭FTP连接
ftp.quit()
```
请注意,你需要将代码中的"ftp.example.com"、"username"、"password"和"/target_folder"替换为实际的FTP服务器地址、用户名、密码和目标文件夹路径。