我想要一个应该打印文本文件各部分的python程序。 该部分由从单词列表中找到的关键字定义,并从该关键字所在的行开始,并在下一部分开始的那一行结束。 例如考虑以下文本文件
word1
abcdef
ghis jsd sjdhd jshj
word2
dgjgj dhkjhf
khkhkjd
word23
dfjkg fjidkfh
word5
diow299 udhgbhdi
jkdkjd
word89
eyuiywiou299092
word3
...
...
...
该程序所需的输出为:
Sections Found: [word1, word2, word3, word5, word89]
**********word1--SECTION**********
line 1: word1
line 2: abcdef
line 3: ghis jsd sjdhd jshj
**********word2--SECTION**********
line 4: word2
line 5: dgjgj dhkjhf
line 6: khkhkjd
**********word3--SECTION**********
line 14: word 3
line 15: ....
''' Suppose word4 is not found in the txt file then it should continue and move to next word found'''
**********word5--SECTION**********
line 9: word5
line 10: diow299 udhgbhdi
line 11: jkdkjd
...
...
...
...
'''Continue till the end of list of words '''
方法:
list_of_words = ['word1','word2','word3','word4','word5','word6',....]
在list_of_word中找到每个单词的start_line并将它们存储在列表中
然后通过对列表进行排序为每个单词找到end_line,这样很容易找到单词的最大近端行
然后打印找到的部分及其行号:line_in_text_file