【问题标题】:Reading certain paragraphs out of text file in Python?在 Python 中从文本文件中读取某些段落?
【发布时间】:2013-02-05 18:29:23
【问题描述】:

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

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*

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

【问题讨论】:

    标签: python


    【解决方案1】:
    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
    

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

    【讨论】:

    • 谢谢你,这确实有很大帮助,但我应该更清楚,下一个标题并不总是'PARN',这仍然给我留下了一些问题。
    • @hoosiers123,是否存在有限的标头集?
    • 不存在多个文本文件,它们的标题数量和标题不同。
    • @hoosiers123,您需要先弄清楚什么是标题,然后再尝试识别它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    相关资源
    最近更新 更多