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()
我在 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()