Windows与Linux文本文件阅读

时间:2017-01-31 02:47:41

标签: python linux windows

这是问题,我最近从Windows切换到Ubuntu,我的一些用于分析数据文件的python脚本给了我错误,我不确定如何正确解决。

我当前仪器的数据文件输出了这个:

  

[页眉]

     

仪器等各种信息。

     

[数据]

     

状态,代码,温度,字段等.........

     

0,0,300,0.013等......

基本上,这段代码用于读取数据文件并将[Header]中的所有信息解析为[Data]并开始在适当的行读取实际数据,而不管报头如何排列为不同仪器有不同的标题。

f = open('file.dat')
lines = f.readlines()
i = 0
while (lines[i]!="[Data]\n"):
    i+=1
i = i + 2

此代码在Windows中运行正常,但在Ubuntu中,i的值始终取决于特定数据文件中的总行数。所以我知道问题是处理“[Data] \ n”行。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果在默认文本模式下打开文件,则在Windows上\ r \ n在读取时会转换为\ n。在Linux上,这不会发生。您的数据文件可能具有\ r \ n,尤其是在Windows上创建时。请改用通用换行模式:

open(filename, 'rU')