我有一个格式为的文本文件
AN text
text
TI text
AU text
text
text
CS text
SO text
AN text
TI text
AU text
text
CS text
text
SO text
等等,其中有两个大写字母的关键字,后跟一行或多行的附加文本。
关键字后面的行数可以变化,所以我不能只得到下一个或两个,但关键字的顺序保持不变。
我想要做的是从这些关键字的选择中获取所有文本(例如,只是AN,AU和SO)。我首先使用readlines()解析文件,然后使用:
sorted_text = []
for line in file:
if line.startswith('AN'):
line = line.rstrip('\n')
sorted_text.append(line)
之后一切都出错了!我的目标是然后将列表中的下一行附加到这一行,除非它以 开头TI,但是任何 elif/else 循环我似乎都尝试附加太多额外的行。
这甚至是解决此类问题的明智方法,还是有更好的方法开始?