0%

自动编辑ftp上的文件

✔️ FTP协议不允许您在文件开头插入一行。

您将必须下载整个文件,在本地进行编辑,然后重新上传回去。像这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from io import BytesIO
from ftplib import FTP

ftp = FTP(host, user, passwd)

f = BytesIO()
# Write header
f.write(str.encode("header\n"))
path = "/remote/path/file.csv"
# Append original contents
ftp.retrbinary("RETR " + path, f.write)
# Re-upload back
f.seek(0, 0)
ftp.storbinary("STOR " + path, f)