1
每一行我有這樣的代碼:Python3.4:在文本
for x in adele_text:
if "Hello, its me" in x:
print (x)
它打印,其中「你好,我的」是行。我希望能夠打印下一行,以及此行之後的行。我如何才能打印下一個x行,也許是之前的x行?
會有辦法打印最後2句話嗎?句子與「。」分隔。
每一行我有這樣的代碼:Python3.4:在文本
for x in adele_text:
if "Hello, its me" in x:
print (x)
它打印,其中「你好,我的」是行。我希望能夠打印下一行,以及此行之後的行。我如何才能打印下一個x行,也許是之前的x行?
會有辦法打印最後2句話嗎?句子與「。」分隔。
您可以使用內置的next()
:
number_of_lines_to_print = 2
with open(filename) as adele_text:
for line in adele_text:
if "Hello, its me" in line:
# printing next "number_of_lines_to_print" lines
for _ in range(number_of_lines_to_print):
print(next(adele_text, ''))
break # remove if you want to continue searching the file
注意,在next(adele_text, '')
空字符串是很重要的 - 它有助於避免StopIteration
exception的情況下,我們是在文件的結尾被提出。
只是要注意......這依賴於'adele_text'是一個'TextIOWrapper'(爲了循環和「下一個」的合作) – donkopotamus
@ donkopotamus是的,我真的不喜歡這個解決方案,它只解決問題的一部分。讓我們看看這對OP是否足夠了。謝謝。 – alecxe
那麼,我試圖運行它,它打印出來:TypeError:'str'對象不是迭代器上線:print(next(adele_text,'')) –