在python中,从文件中的一个特定单词多次读取文件中的另一个特定字

时间:2016-03-04 11:33:49

标签: python file

好的,好的。有点讨厌这个。我有一个包含多个'部分的文件。在里面。文件可能,如下所示:

"""
Begin presentation. Welcome the new guest. Do this, do that

[+] Start group 1
+derrek
+bob
+james
+harry

[+] Start group 2
+Will
+Paul
+Mark
+Eric

Hello and welcome to this years presentation of the "New Show" feature me your host Troy Mcleur. Something blah blah blah
"""

所以,我的问题是,是否有可能编写一些Python来解析第一组和第二组名称,所以你只打印它们?所以,输出只会是:

[+] Start group 1
derrek
bob
james
harry

[+] Start group 2
Will
Paul
Mark
Eric

目前,我目前的代码是:

for line in file:
     if 'Start Group' in line:
         print line
             break
 for line in file:
     if 'Start Group' in line:
         break
     print line

这只会打印第1组,它不会打印下一组。此外,偶尔有些文件可能包含2到9个组,因此我需要它来遍历并查找Group的所有实例,并打印其中的所有名称。

1 个答案:

答案 0 :(得分:1)

这可行:

from __future__ import print_function

show = False
for line in fobj:
    if line.strip().startswith('[+]'):
        print()
        show = True
    elif not line.strip():
        show = False
    if show:
        print(line, end='')

输出:

[+] Start group 1
+derrek
+bob
+james
+harry

[+] Start group 2
+Will
+Paul
+Mark
+Eric