ftplib删除目录及文件实例
时间: 2024-11-30 11:21:39 浏览: 5
python ftplib模块使用代码实例
在Python中,`ftplib`库主要用于基本的FTP(File Transfer Protocol)操作,包括登录、上传、下载和删除。以下是使用`ftplib`删除FTP目录及其文件的一个简单实例:
```python
import ftplib
def delete_files_and_folder(ftp_host, ftp_user, ftp_password, remote_path):
try:
# 创建FTP连接
ftp = ftplib.FTP(ftp_host)
ftp.login(ftp_user, ftp_password)
# 带上 passive mode (适用于防火墙)
ftp_pasv = getattr(ftp, "pasv", ftp.makepasv)
ftp_pasv()
# 进入目标目录
ftp.cwd(remote_path)
# 检查是否有文件或子目录
files = ftp.nlst() # NLST获取目录下的文件列表
dirs = ftp.dir()[:-1] # dir()获取目录下的目录列表,并去掉最后的'\r\n'
# 删除文件
for file in files:
ftp.delete(file)
# 删除子目录(递归删除)
for sub_dir in dirs:
if not sub_dir.startswith('.'): # 忽略隐藏目录
ftp.cwd(sub_dir) # 进入子目录
ftp.rmd('.') # 删除子目录
ftp.cwd("..") # 回退到上一级目录
# 关闭连接
ftp.quit()
except Exception as e:
print(f"删除目录和文件时出错: {str(e)}")
# 使用函数时,替换参数值
delete_files_and_folder('your_ftp_host', 'your_username', 'your_password', 'path/to/delete')
阅读全文