Pointers 将文件指针移动到Python中具有已知字符串的行

Pointers 将文件指针移动到Python中具有已知字符串的行,pointers,python-2.7,Pointers,Python 2.7,我从一个数据文件中读取数据,我知道我的数据在包含“[data]”的行之后开始。 我想搜索文件,直到它到达这一行,然后停止,这样我就可以开始格式化数据。这是我的尝试: fid='myData.dat' f=open(fid,'r') fline = 'string' while fline != '[Data]': fline=f.readline() print fline 但是,它不停地读取文档中的每一行。我知道我想要的行只包含[数据],没有其他空格或字符。 我相信有更好的方

我从一个数据文件中读取数据,我知道我的数据在包含“[data]”的行之后开始。 我想搜索文件,直到它到达这一行,然后停止,这样我就可以开始格式化数据。这是我的尝试:

fid='myData.dat'
f=open(fid,'r')
fline = 'string'
while fline != '[Data]':
    fline=f.readline()
    print fline
但是,它不停地读取文档中的每一行。我知道我想要的行只包含[数据],没有其他空格或字符。
我相信有更好的方法可以做到这一点,我愿意用任何其他方法来做。

可能
'[Data]'
后面跟着一个
'\n'
,因为这是最后一行,所以你可以在fline!='[数据]\n':


如果您使用的是Windows,换行符将是
“\r\n”
,“\n”用于基于Unix的系统。

readline方法返回带行尾的行:

while fline != '[Data]\n':
    fline=f.readline()
您可以删除白色字符:

while fline.strip() != '[Data]':
    fline=f.readline()
如果“[”之前不需要空格,则只能使用
.rstrip()
在右侧删除它们。只能使用
.rstrip(“\r\n”)
删除换行符