Python ftplib 使用 str 向 txt 文件添加新行

Python ftplib add new line to txt file with str

我在 ftp 服务器中有一个 txt 文件 test.txt,我想向该文件添加新行我已经试过了,但这不起作用。

ftp = ftplib.FTP()
ftp.connect(host=HOST, port=PORT)
ftp.login(user=USER, passwd=PASSWD)

new_line = '\n this is a new line'
ftp.storlines('STOR test.txt', new_line)

我收到这个错误:

AttributeError: 'str' object has no attribute 'readline'

ftp.storlines的第二个参数应该是一个文件对象,你传递的是一个字符串。该错误确切地说字符串 new_line 不是文件对象,因为它没有 readlines 方法。

你想要的可能是使用transfercmd方法和APPE命令:

ftp = ftplib.FTP()
ftp.connect(host=HOST, port=PORT)
ftp.login(user=USER, passwd=PASSWD)
ftp.sendcmd('TYPE I')

new_line = '\n this is a new line'
s = ftp.transfercmd('APPE test.txt')
s.send(new_line.encode())
s.close()
ftp.quit()