【发布时间】:2015-10-21 03:53:52
【问题描述】:
我有一个用 Python 读入的文本文件,然后我确定包含特定关键字的行号。由于某种原因,我发现每次搜索不同的关键字时都必须打开文件。我尝试使用 with 语句来保持文件打开,但这似乎不起作用。
在下面的示例中,我找到了文件中最后一行的行号以及包含字符串“Results”的第一行
with open(MyFile,'r') as f:
lastline = sum(1 for line in f)
for num, line in enumerate(f):
if 'Results' in line:
ResultLine=num
break
这成功地完成了第一个操作(确定最后一行),但不是后者。如果我只是打开文件两次,它可以工作:
f=open(MyFile, 'r')
lastline = sum(1 for line in f)
f=open(MyFile, 'r')
for num, line in enumerate(f):
if 'Results' in line:
ResultLine=num
break
关于为什么我的 with 语句不能保持文件打开的任何建议?
感谢您的帮助。
【问题讨论】:
标签: python