直接在 FTP 服务器上创建 CSV 文件

Create a CSV file directly on an FTP server

我使用 Python csv 库创建了一个 CSV 文件。

创建完所有 CSV 文件后,我的第二个任务是将它们放在 FTP 服务器上。

为此,我在 Linux 计算机上的 /tmp 文件夹中生成了所有文件,然后打开 FTP 连接并将它们全部上传到远程服务器.

我的问题是:是否可以在内存缓冲区中创建 CSV 文件并将它们直接放在我的 FTP 服务器上?

是的,您可以使用 StringIO(或更好的 cStringIO)在内存中生成文件。 你可以尝试这样的事情:

import csv
from ftplib import FTP
from cStringIO import StringIO

...
ftp = FTP(host, user, passwd)
ftp.login()
output = StringIO()
data = csv.writer(output)
data.writerow(["data"] * 5)
output.seek(0)
ftp.storbinary("STOR data.txt", output)
...

请注意,这不是完全可行的代码,您可能需要根据您的 FTP 配置进行一些更改。例如,我必须添加 ftp.set_pasv(False) 才能使其适用于我的测试 FTP.