问题是,我最近从 Windows 切换到 Ubuntu,我的一些用于分析数据文件的 python 脚本给我带来了错误,我不确定如何正确解决。
我当前仪器的数据文件输出如下:
[Header]
Various information w.r.t the instrument etc.
[Data]
Status,Code,Temperature,Field, etc.........
0,0,300, 0.013, etc...
所以基本上,这段代码的目的是读取数据文件并解析从 [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”行的处理。感谢您的帮助。
最佳答案
如果在默认文本模式下打开文件,则在 Windows 上\r\n 在读取时会转换为\n。在 Linux 上这不会发生。您的数据文件可能有\r\n,尤其是在 Windows 上创建的数据文件。请改用通用换行模式:
open(filename, 'rU')
关于python - Windows 与 Linux 文本文件读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948897/