ftplib 读取文件内容
时间: 2023-07-18 13:31:49 浏览: 113
可以使用 Python 的 ftplib 模块来连接 FTP 服务器并读取文件内容。以下是一个简单的示例代码:
```python
from ftplib import FTP
# 连接 FTP 服务器
ftp = FTP('ftp.example.com')
ftp.login('username', 'password')
# 切换到指定目录
ftp.cwd('/path/to/directory')
# 读取文件内容
file_name = 'example.txt'
with open(file_name, 'wb') as f:
ftp.retrbinary('RETR ' + file_name, f.write)
# 关闭连接
ftp.quit()
```
在上面的代码中,我们首先使用 `FTP()` 函数连接 FTP 服务器,并使用 `login()` 方法进行登录。然后使用 `cwd()` 方法切换到指定的目录,使用 `retrbinary()` 方法读取指定文件的内容,最后使用 `quit()` 方法关闭连接。注意,我们使用了 `with` 语句来打开文件,并使用 `wb` 模式来写入二进制数据。
相关问题
通过ftp以二进制流的方式读取文件内容
要通过ftp以二进制流的方式读取文件内容,可以按照以下步骤:
1. 打开ftp连接
```python
import ftplib
ftp = ftplib.FTP("ftp.example.com")
ftp.login("username", "password")
```
2. 设置二进制模式
```python
ftp.set_binary()
```
3. 读取文件内容
```python
resp = ftp.retrbinary("RETR file.txt", callback=print)
```
在上面的代码中,我们使用了`retrbinary`方法来获取文件内容,并设置了一个回调函数`print`,以便在控制台上打印出读取的内容。如果你想要将文件内容保存到本地文件中,可以将回调函数改为写入文件。例如:
```python
with open("file.txt", "wb") as f:
resp = ftp.retrbinary("RETR file.txt", callback=f.write)
```
这样就会将文件内容写入到`file.txt`文件中。完成文件读取后,需要关闭ftp连接:
```python
ftp.quit()
```
阅读全文
相关推荐














