python 通过ftp 上传文件夹代码
时间: 2024-10-15 20:13:13 浏览: 28
在Python中,你可以使用`ftplib`模块来实现FTP上传文件夹的功能。这里是一个基本的例子,假设你已经有了一个名为`my_folder`的文件夹,并且你知道FTP服务器的地址、用户名、密码以及需要上传到的目标路径:
```python
import os
import ftplib
def upload_directory_to_ftp(local_dir, ftp_server, username, password, remote_path):
# 创建FTP连接
ftp = ftplib.FTP(ftp_server)
ftp.login(username, password)
try:
# 进入目标目录,如果不存在则创建
if not ftp.path(remote_path).startswith("/"):
ftp.mkd(remote_path) # 如果远程路径不存在,先创建
ftp.cwd(remote_path) # 切换到目标目录
# 遍历本地文件夹及其内容
for foldername, subfolders, filenames in os.walk(local_dir):
relpath = foldername.replace(local_dir, "", 1) # 获取相对路径
for filename in filenames:
local_file = os.path.join(foldername, filename)
remote_file = os.path.join(relpath, filename)
# 上传文件
with open(local_file, 'rb') as file:
ftp.storbinary(f'STOR {remote_file}', file)
print("文件夹上传完成")
finally:
ftp.quit() # 关闭FTP连接
# 使用函数
upload_directory_to_ftp('my_folder', 'your_ftp_server', 'your_username', 'your_password', '/remote/path/')
```
阅读全文