我試圖寫一個函數讀取文本文件直到找到一個單詞(比如「hello」),然後打印下一個以字符串1開頭的x行(說「start_description」)直到字符串2(比如說「end_description」)。從字符串1打印下一個x行,直到字符串2
hello
start_description 123456 end_description
的功能應該像描述(「你好」)和下面的輸出應該看起來像
123456
這是一個有點難以解釋。我知道如何在文本文件中找到某個單詞,但我不知道如何打印這兩個字符串(start_description和end_description)之間的接下來幾行。
編輯1: 我發現了一些代碼,它允許打印接下來的8,9,...行。但由於兩個字符串之間的文本長度可變,所以不起作用...
編輯2: 基本上它與本帖中的問題相同:Python: Print next x lines from text file when hitting string,但範圍(8)不適用於我(見EDIT1)。
輸入文件可能看起來像:
HELLO
salut
A: 123456.
BYE
au revoir
A: 789123.
則代碼應該是這樣的:
import re
def description(word):
doc = open("filename.txt",'r')
word = word.upper()
for line in doc:
if re.match(word,line):
#here it should start printing all the text between start_description and end_description, for example 123456
return output
print description("hello")
123456
print description("bye")
789123
請編輯您的文章以包含樣本輸入文件和期望的輸出 – inspectorG4dget
我包含了迄今爲止的代碼和預期的輸出。 – neacal
請編輯您的文章,以包含您的輸入文件的樣本,以及期望的輸出 – inspectorG4dget