我有几个大型的纯文本文件,这些文件都是我在博士学位期间制作的供个人使用的“词汇表”。它们的格式无用,如下所示:
%%% <entry i>
Blah Blah Blah, see also > <entry j>
%%% <entry i+1>
等(请注意交叉引用。)
在当前状态下,这些文件不易使用(例如,使用LaTeX创建显示版本,或将条目的子集放在网站上);它们基本上只能在文本编辑器中浏览。似乎将所有内容都转换为XML可能是增加灵活性和可用性的最佳方法,那么什么是最佳方法?
这可能是python中此类转换器的基础:
#!/usr/bin/python
import fileinput
import re
entryre = re.compile( "^%%% <([^>]+)>")
seealsore = re.compile( "see also > <([^>]+)>")
def pnode(nodename, nodeblock):
print "<" + nodename + ">"
print nodeblock
print "</" + nodename + ">"
block = ""
entry = ""
for line in fileinput.input():
match = re.match( entryre, line)
if match:
if entry:
pnode(entry, block)
block = ""
entry = ""
entry = match.group(1)
else:
match = re.match( seealsore, line)
line = re.sub( seealsore, r'<seealso>\1</seealso>', line)
block += line
pnode(entry, block)
它读取任何文件(建议使用stdin)并写入stdout。只需将输出包装在xml头和尾之间即可。如果条目包含空格,则应小心。另外,如果块包含类似标签的(“”)子字符串,则需要进行其他转换。
但是,如果您只想浏览条目,建议使用简单的html。定义列表或表都可以很好地为您服务。转换代码只需要进行很小的更改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句