我正在读取数据文件,我知道我的数据在包含'[Data]'的行之后开始。 我想搜索文件,直到它到达此行,然后停止,以便我可以开始格式化数据。这是我的尝试:
fid='myData.dat'
f=open(fid,'r')
fline = 'string'
while fline != '[Data]':
fline=f.readline()
print fline
但是,它会在不停止的情况下读取文档中的每一行。我知道我想要的行只包含[Data]而没有其他空格或字符。 我确信有更好的方法可以做到这一点,我愿意以任何其他方式解决这个问题。
答案 0 :(得分:1)
可能'[Data]'
之后是'\n'
,因为它是该行的结尾,因此您可以尝试while fline != '[Data]\n':
如果您使用的是Windows,换行符将为"\r\n"
,'\ n'适用于基于Unix的系统。
答案 1 :(得分:1)
带有行结尾的readline
方法返回行:
while fline != '[Data]\n':
fline=f.readline()
您可以删除白色字符:
while fline.strip() != '[Data]':
fline=f.readline()
如果您在“[”之前不想要空格,则只能在.rstrip()
的右侧删除它们。您只能使用.rstrip("\r\n")
删除换行符。