在Python中的特定行之间读取

时间:2015-07-27 18:51:11

标签: python

我有一个以下格式的文本文件:

...text
LINE A
text
text
text
LINE B
text...

我想要做的只是使用LINE A和LINE B之间的文本。

基本上,我尝试以下格式:

for line in text_file:
     if line.startswith("LINE A"):
          Do something until LINE B

我不关心它所在的行号,因为LINE A可以任意放置在文本文件中,而LINE A和LINE B之间的文本长度可变。

任何提示或指示都会很棒!

谢谢!

1 个答案:

答案 0 :(得分:3)

使用状态机。在这种情况下,我使用状态readingnot reading。由于只有两种状态,我可以使用一个布尔来切换状态。

reading=False
for line in text_file:
    if line.startswith("LINE A"):
        reading=True
    elif line.startswith("LINE B"):
        reading=False
    elif reading:
        Do something