Python中特定行之间的读取
我有一个以下格式的文本文件:Python中特定行之间的读取,python,Python,我有一个以下格式的文本文件: ...text LINE A text text text LINE B text... for line in text_file: if line.startswith("LINE A"): Do something until LINE B 我想做的只是处理A行和B行之间的文本 基本上,我正在尝试以下格式: ...text LINE A text text text LINE B text... for line in te
...text
LINE A
text
text
text
LINE B
text...
for line in text_file:
if line.startswith("LINE A"):
Do something until LINE B
我想做的只是处理A行和B行之间的文本
基本上,我正在尝试以下格式:
...text
LINE A
text
text
text
LINE B
text...
for line in text_file:
if line.startswith("LINE A"):
Do something until LINE B
我不关心它的行号,因为行A可以任意放置在文本文件中,而行A和行B之间的文本长度可变
任何提示或指点都会很棒
谢谢 使用状态机。在这种情况下,我使用状态
reading
和not 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
看来你的想法是对的。您可以只添加而不添加行。startswith(“行B”):如果您这样做,那么在案例2中也可以添加
break
。如果“B行”在第5行,则无需一直循环到第100行。:)这真聪明!我还没有试过,但我认为这对我来说会很有效。谢谢我一试就会告诉你最新情况。还有@2位炼金术士,非常好!谢谢@两位炼金术士:这是真的,除非你想捕获多个区块。@codycrossley:如果你喜欢答案,请投票并接受。@Dakkaron,我正等着先试试。我就这么做了,而且效果很好!非常感谢你!我会尽快接受答案(从现在起3分钟,直到我能接受为止)