这是问题,我最近从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”行。谢谢你的帮助。
答案 0 :(得分:0)
如果在默认文本模式下打开文件,则在Windows上\ r \ n在读取时会转换为\ n。在Linux上,这不会发生。您的数据文件可能具有\ r \ n,尤其是在Windows上创建时。请改用通用换行模式:
open(filename, 'rU')