PYTHON中使用ftp模块实现文件的上传下载功能
时间: 2024-09-28 20:13:47 浏览: 42
Python基于FTP模块实现ftp文件上传操作示例
在Python中,你可以使用内置的`ftplib`模块来处理FTP(File Transfer Protocol)操作,包括文件的上传(upload)和下载(download)。这个模块提供了一种简单的方式来连接到FTP服务器,并执行基本的文件操作。以下是使用`ftplib`模块进行文件上传和下载的基本步骤:
**上传文件(Upload)**:
```python
import ftplib
def upload_file(host, user, password, local_path, remote_path):
# 创建FTP客户端
ftp = ftplib.FTP(host)
# 登录 FTP 服务器
ftp.login(user, password)
try:
# 进入目标目录
ftp.cwd(remote_path)
# 开始二进制模式传输,适用于文件
with open(local_path, 'rb') as file:
ftp.storbinary('STOR ' + os.path.basename(local_path), file) # 上传文件名
print(f"文件 {local_path} 已成功上传到 {remote_path}")
finally:
# 关闭连接
ftp.quit()
# 调用函数
upload_file('your_ftp_host', 'username', 'password', '/path/to/local/file.txt', '/remote/directory/file.txt')
```
**下载文件(Download)**:
```python
import ftplib
def download_file(host, user, password, remote_path, local_path):
ftp = ftplib.FTP(host)
ftp.login(user, password)
try:
ftp.cwd(remote_path)
filename = ftp.nlst()[0] # 获取远程目录下的第一个文件名
with open(local_path, 'wb') as file:
ftp.retrbinary('RETR ' + filename, file.write) # 下载文件
print(f"文件 {filename} 已成功从 {remote_path} 下载到 {local_path}")
finally:
ftp.quit()
# 调用函数
download_file('your_ftp_host', 'username', 'password', '/remote/directory/file.txt', '/path/to/downloaded/file.txt')
```
阅读全文