我有一个格式的文本文件
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
和{readlines()
解析文件,然后使用:
在那之后一切都变糟了!我的目标是将列表中的下一行追加到这一行,除非它以TI
开头,但是任何elif/else循环我似乎都试图附加太多额外的行。在
这是解决这类问题的明智方法吗?还是有更好的方法开始?在
试试这个
如果您想将文本放入列表,请将
d[k] = d.get(k, "") + t
更改为d.setdefault(k, []).append(t)
使用正则表达式:
所以第(1)组有2个字母的代码,第(2)组后面的文本。在
您可以使用“currentKey”变量来跟踪您看到的当前关键字:
相关问题 更多 >
编程相关推荐