这下面的代码工作正常,但问题是传输的文件没有空格,一切都在单行
ftp =FTP('x.x.x.x')
ftp.login('user','password')
filename = "test.txt"
local = open(filename, 'wb')
ftp.cwd('/root/Desktop')
ftp.retrbinary('RETR ' +filename, local.write,1024)
说test.txt有
1)one
2)two
3)three
从reemote服务器复制的test.txt
1)one2)two3)three
一行中的一切,
任何帮助。
答案 0 :(得分:0)
引用互联网:
http://www.cs.toronto.edu/~krueger/csc209h/tut/line-endings.html
在DOS / Windows计算机上创建的文本文件具有不同的行结尾 比在Unix / Linux上创建的文件。 DOS使用回车和换行 feed(" \ r \ n")作为行结尾,Unix只使用换行符(" \ n")。
它是导致你的问题的写作二进制文件。它会阻止在作为文本写入时应该自动的翻译。你可以转移并保存为文本文件吗?您可以使用retrlines而不是retrbinary。
ftp =FTP('x.x.x.x')
ftp.login('user','password')
filename = "test.txt"
local = open(filename, 'w')
ftp.cwd('/root/Desktop')
ftp.retrlines('RETR ' +filename, local.write)