通过python删除FTP根目录下的所有文件和子目录
时间: 2024-11-25 17:33:30 浏览: 8
在Python中,你可以使用`ftplib`模块来连接到FTP服务器,然后使用`os`模块的一些功能来递归地删除文件和子目录。以下是一个示例代码,展示了如何实现这个过程:
```python
import ftplib
import os
def delete_ftp_contents(host, username, password, ftp_dir):
# 连接到FTP服务器
ftp = ftplib.FTP(host)
ftp.login(user=username, passwd=password)
# 设置 Passive 模式(某些 FTP 服务器可能需要这种方式)
ftp.set_pasv(True)
try:
# 切换到要删除的目录
ftp.cwd(ftp_dir)
# 获取当前目录中的所有条目
dir_list = ftp.nlst()
# 遍历列表并删除每个文件或子目录
for item in dir_list:
if os.path.isdir(item): # 如果是子目录
ftp.rmd(item) # 删除子目录
else:
ftp.delete(item) # 删除文件
# 清空FTP缓存
ftp.retrlines('LIST')
except Exception as e:
print(f"Error occurred while deleting: {e}")
finally:
# 关闭FTP连接
ftp.quit()
# 使用时,请替换 'host', 'username', 'password' 和 'ftp_dir'
delete_ftp_contents('your_host.example.com', 'your_username', 'your_password', '/')
阅读全文