ftplib删除目录子目录及文件实例
时间: 2024-11-30 09:22:29 浏览: 5
python实现ftp上传目录中所有文件且结构不变
在Python的ftplib库中,并没有直接提供删除目录子目录及文件的功能。但是,你可以通过先遍历目录内容,然后逐个删除文件和子目录来实现这一操作。这里有一个基本的示例,假设我们已经有了一个FTP连接对象`ftp`:
```python
import os
from ftplib import FTP
def delete_dir_tree(ftp, path):
# 判断路径是否存在
if not ftp.nlst(path):
print(f"{path}不存在")
return
# 递归删除目录及其内容
try:
for item in ftp.nlst(path):
full_path = os.path.join(path, item)
if os.path.isdir(full_path):
ftp.cwd('/')
ftp.rmd(full_path) # 删除目录
else:
ftp.delete(full_path) # 删除文件
ftp.rmd(path) # 最终删除空目录
print(f"已成功删除{path}")
except Exception as e:
print(f"删除 {path} 出错:", str(e))
# 使用 FTP 连接和用户名密码替换下面的内容
ftp = FTP('example.com', 'username', 'password')
ftp.login()
delete_dir_tree(ftp, '/path/to/delete') # 替换为你要删除的目录路径
ftp.quit() # 关闭连接
```
请注意,这只是一个基础示例,实际应用中可能需要处理更多异常情况和权限问题。
阅读全文