通过python删除FTP目录子目录及目录中的文件
时间: 2024-11-30 18:29:57 浏览: 5
在Python中,你可以使用`ftplib`库来连接FTP服务器,并使用`os`模块的`rmtree()`函数来删除整个目录及其内容,包括子目录。如果你只想删除目录下的文件而不删除子目录,可以先遍历目录并逐个删除文件,然后再递归删除空的子目录。这里是一个基本的例子:
```python
import ftplib
import os
def delete_ftp_dir(server, username, password, ftp_path):
# 连接到FTP服务器
ftp = ftplib.FTP(server)
ftp.login(user=username, passwd=password)
try:
# 切换到需要操作的目录
ftp.cwd(ftp_path)
# 获取当前目录的内容,包括文件和子目录
files_and_dirs = ftp.nlst()
for item in files_and_dirs:
if item != '.' and item != '..': # 避免删除当前目录和上一级目录
if os.path.isdir(item): # 如果是目录,则递归删除
ftp.rmd(item)
else: # 如果是文件,直接删除
ftp.delete(item)
# 删除当前目录本身,如果为空
if not ftp.nlst(): # 检查目录是否还有内容
ftp.rmd(ftp_path) # 删除目录
finally:
ftp.quit() # 关闭FTP连接
# 使用示例
delete_ftp_dir('your_server', 'your_username', 'your_password', '/path/to/directory')
```
阅读全文