Python:从ftp写入文件,不需要';不做新线
我正在尝试将ftp站点的文本文件写入计算机上的文件,如下所示:Python:从ftp写入文件,不需要';不做新线,python,ftp,Python,Ftp,我正在尝试将ftp站点的文本文件写入计算机上的文件,如下所示: ftp = FTP(ftpName) ftp.login() ftp.cwd(filePath) foo=open(myFile,"w") ftp.retrlines("RETR stlint",foo.write) ftp.close() 文件正在成功写入,但当我打开文件时,没有换行符。有什么建议吗 如果您查看一下,您将看到使用可选回调调用retrlines,将在调用回调之前先删除每行末尾的换行符 您可以创建自己的回调函数,该函
ftp = FTP(ftpName)
ftp.login()
ftp.cwd(filePath)
foo=open(myFile,"w")
ftp.retrlines("RETR stlint",foo.write)
ftp.close()
文件正在成功写入,但当我打开文件时,没有换行符。有什么建议吗 如果您查看一下,您将看到使用可选回调调用retrlines
,将在调用回调之前先删除每行末尾的换行符
您可以创建自己的回调函数,该函数会附加一个换行符:
def append_newline(input):
foo.write(input + "\n")
然后将其用于:
ftp.retrlines("RETR stlint", append_newline)
根据ftplib-
FTP.retrlines(命令[,回调])
。。。回调函数是为每一行调用的,每一行都有一个字符串参数,该参数包含带有尾部CRLF的行。默认回调将该行打印到sys.stdout
也许您可以创建自己的回调函数,在将换行写入文件时附加换行符
范例-
ftp = FTP(ftpName)
ftp.login()
ftp.cwd(filePath)
foo=open(myFile,"w")
def customWriter(line):
foo.write(line + "\n")
ftp.retrlines("RETR stlint",customWriter)
ftp.close()
foo.close()