在Python StringIO模块中使用readline函数
我试图从FTP站点读取一个文件,并一次处理一行。我从FTP服务器写入一个StringIO对象并调用readline函数,但这会返回整个文件,而不是第一行。我把这个文件下载到我的电脑上,用一个十六进制编辑器对它进行了检查,该文件使用x0d0a作为换行符,或者使用带换行符的回车符。有人能告诉我哪里出了问题吗 提前谢谢在Python StringIO模块中使用readline函数,python,encoding,ftp,newline,stringio,Python,Encoding,Ftp,Newline,Stringio,我试图从FTP站点读取一个文件,并一次处理一行。我从FTP服务器写入一个StringIO对象并调用readline函数,但这会返回整个文件,而不是第一行。我把这个文件下载到我的电脑上,用一个十六进制编辑器对它进行了检查,该文件使用x0d0a作为换行符,或者使用带换行符的回车符。有人能告诉我哪里出了问题吗 提前谢谢 #!/usr/bin/python import ftplib import StringIO settles = StringIO.StringIO() ftp = ftplib.F
#!/usr/bin/python
import ftplib
import StringIO
settles = StringIO.StringIO()
ftp = ftplib.FTP('ftp.cmegroup.com')
ftp.login()
ftp.cwd('pub/settle/')
ftp.retrlines('RETR cbt.settle.s.txt', settles.write)
settles.seek(0)
print settles.readline()
根据报告:
。。。回调函数是为每一行调用的,每一行都有一个字符串参数,该参数包含带有尾部CRLF的行
将Retrline替换为
或者,您可以..重新排列。。添加换行符的行如下所示:
ftp.retrlines('RETR cbt.settle.s.txt', lambda line: settles.write(line + '\n'))
根据报告:
。。。回调函数是为每一行调用的,每一行都有一个字符串参数,该参数包含带有尾部CRLF的行
将Retrline替换为
或者,您可以..重新排列。。添加换行符的行如下所示:
ftp.retrlines('RETR cbt.settle.s.txt', lambda line: settles.write(line + '\n'))