我试图从文档标题列表快速创建一个DITA keydef列表。 如果标题是“设备用户指南”,我想创建如下keydef:
<keydef keys="Device_User_Guide" class="+ map/topicref mapgroup-d/keydef ">
<topicmeta class="- map/topicmeta ">
<keywords class"- topic/keywords ">
<keyword class="- topic/keyword ">Device User Guide</keyword>
</keywords>
</topicmeta>
</keydef>
标题是从titles.txt文件中提取的,其中每个标题都是新行。这会导致密钥(Device\u User\u Guide)结尾包含一个\n,因此我的输出如下:
<keydef keys="Device_User_Guide
" class="+ map/topicref mapgroup-d/keydef ">
<topicmeta class="- map/topicmeta ">
<keywords class"- topic/keywords ">
<keyword class="- topic/keyword ">Device User Guide</keyword>
</keywords>
</topicmeta>
</keydef>
我设法用下划线替换空格,并使用rstrip作为关键字,但是如何在执行替换操作的同时剥离换行符呢?这是我的密码:
title = open('titles.txt', 'r')
keydefs = open('keydefs.txt', 'w')
for line in title:
keydefs.write('<keydef keys="%s" class="+ map/topicref mapgroup-d/keydef ">\n <topicmeta class="- map/topicmeta ">\n <keywords class"- topic/keywords ">\n <keyword class="- topic/keyword ">%s</keyword>\n </keywords>\n </topicmeta>\n</keydef>' % (line.replace(" ","_"), line.rstrip()))
我想出来了。只需将
line.rstrip()
移到循环的开头相关问题 更多 >
编程相关推荐