我有一个格式为的文本文件
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 循环我似乎都尝试附加太多额外的行。
这甚至是解决此类问题的明智方法,还是有更好的方法开始?