Python中跨平台告诉/搜索的问题

时间:2013-12-23 12:26:34

标签: python linux windows cross-platform

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范围内)我需要能够读取标题并处理它,然后一次读取一行文件。我可能需要随时回到文件的开头(标题的结尾)。

1 个答案:

答案 0 :(得分:0)

正如你所说的Windows和Linux / Mac,我认为你有 换行符http://www.editpadpro.com/tricklinebreak.html)的问题 由写入文件的操作系统和读取文件的操作系统使用。

问题出现的原因是你以非二进制模式打开文件。

尝试以二进制模式打开文件,也就是说根据您的要求,使用'rb''rb+''ab''ab+'打开文件。