Python 2.7.3文件读取有一个奇怪的错误。如果我这样做的话:
end_of_header = f.tell()
print f.readline()
f.seek(end_of_header)
print f.readline()
结果不同。该文件是用Linux / Mac编写的(不确定),我正在尝试在Windows 7上运行它。如果我在Linux中运行它可以工作。我试过打开带有'b'和'U'标签的文件并且它不起作用。我已经尝试使用编解码器模块打开各种编码。
readline()是否导致问题?
有些上下文是有一个标题,之后有一个很长的轨迹(可以在GB范围内)我需要能够读取标题并处理它,然后一次读取一行文件。我可能需要随时回到文件的开头(标题的结尾)。
答案 0 :(得分:0)
正如你所说的Windows和Linux / Mac,我认为你有 换行符(http://www.editpadpro.com/tricklinebreak.html)的问题 由写入文件的操作系统和读取文件的操作系统使用。
问题出现的原因是你以非二进制模式打开文件。
尝试以二进制模式打开文件,也就是说根据您的要求,使用'rb'
或'rb+'
或'ab'
或'ab+'
打开文件。