在Python中读取文本文件中的某些段落?

时间:2013-02-05 18:29:23

标签: python

我试图从文本文件中解析某些段落。我试图解析的段落标记为:

ABST

PAL通过提供超薄来制备耐磨层压板       矿物颗粒和微晶纤维素的涂层       常规印刷纸的表面,然后浸渍纸       用常规的层压树脂,然后用这样的打印纸       在层压过程中获得,无需使用覆盖层       片材。

PARN

到目前为止,我所得到的只是:

with open('file.txt', 'r+') as f:
   for line in f:
        if line.startswith("ABST"):
            print f.next()

这只留下了段落的第一行。我想要的是:

with open('file.txt', 'r+') as f:
   for line in f:
        if line.startswith("ABST"):
            *print lines until next header*

我意识到这并不是太复杂,但我一直陷入困境,所以任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

with open('file.txt', 'r+') as f:
   flag = False
   for line in f:
        if line.startswith("PARN"):
            flag = False
        if flag:
            print line
        if line.startswith("ABST"):
            flag = True

应该做的诀窍......直截了当。在任何情况下,您都可以让循环为您处理迭代,只需确保您记住是否应该打印。