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