lookup = raw_input("Please enter something: ")
with open("FileName") as myfile:
found = {num: line for (num, line) in enumerate(myfile, 1)}
这就是我该怎么做的。该字典比较是有点简洁,而且阐述了它的作用:
found = {} # empty dict
for num, line in enumerate(myfile, 1):
found[num] = line
这将让你与字典玩像这样:
for lineno, line in found.items():
print "{:03}: {}".format(lineno, line)
编辑为您的问题评论意见
我个人会使用正则表达式,而不是试图将它拼凑在一起。然而,为了回答你的问题:
startsentry="DATA STARTS ON THE NEXT LINE"
endsentry="DATA ENDS ON THE PREVIOUS LINE"
with open('path/to/file') as myfile:
for line_num, line in enumerate(myfile, 1):
if startsentry in line:
_start = line_num+1
if endsentry in line:
_end = line_num
data_is_in = (_start, _end)
我怎样才能得到一个特定的事件行号?因为目前它会打印出特定短语的所有行号,但我只想获得第三次出现。 – Nick