python写上传文件到FTP指定的目录,如果没有目录则创建新的文件夹
时间: 2023-12-28 19:06:01 浏览: 99
你可以使用 Python 的 ftplib 库来上传文件到 FTP 服务器,并在需要时创建新的目录。下面是一个示例代码:
```python
import os
import ftplib
ftp = ftplib.FTP('ftp.example.com', 'username', 'password')
ftp.cwd('/') # 切换到 FTP 服务器的根目录
# 定义要上传的文件路径和名称
local_path = '/path/to/local/file'
filename = 'example.txt'
# 定义要上传到的目录路径
ftp_path = '/path/to/remote/folder'
# 按照目录路径逐级检查并创建目录
sub_dirs = ftp_path.split('/')
for sub_dir in sub_dirs:
try:
ftp.cwd(sub_dir)
except:
ftp.mkd(sub_dir)
ftp.cwd(sub_dir)
# 上传文件
with open(local_path, 'rb') as f:
ftp.storbinary('STOR ' + filename, f)
ftp.quit()
```
在此示例中,我们首先连接到 FTP 服务器并切换到根目录。然后,将要上传的文件路径和名称以及要上传到的目录路径指定为变量。接下来,我们将目录路径拆分为子目录,并在每个子目录上逐级检查并创建目录。最后,我们使用 `storbinary()` 方法将文件上传到目标 FTP 服务器。
需要注意的是,上面的代码仅提供了一个基本示例,并且需要根据你的实际情况进行修改。在实际使用中,请确保在上传文件之前正确处理文件名和路径,并根据需要添加异常处理和错误检查。
阅读全文