2024-09-27 18:07:23 发布
网友
<book> <title>sponge bob</title> <author>Joe Doe</author> <file>Tbase</file> </book>
我有两个文件,一个是xml,另一个是base64文件。我想知道如何用python的base64替换字符串。在
是否要将base64文件(仍然是base64编码)的逐字内容放入XML文件中,而不是“Tbase”?如果是这样的话,你可以这样做:
xml = open("xmlfile.xml").read() b64file = open("b64file.base64").read() open("xmlfile.xml", "w").write(xml.replace("Tbase", b64file))
(如果您使用的是Python2.6或更高版本,可以使用with语句做得更清楚一些,但这是另一个讨论。)
如果您想先对base64文件进行解码,并将解码后的内容放入XML文件中,那么应该将上面示例最后一行的b64file替换为b64file.decode("base64")。在
b64file
b64file.decode("base64")
当然,如上所述,进行简单的文本替换,会让您发现如果标题或作者也包含“Tbase”就会遇到的问题。更好的方法是使用实际的XML解析库,如下所示:
这会将<file>标记的内容设置为文件b64file.base64的内容,而不管它以前的内容是什么,也不管“Tbase”是否出现在XML文档的其他地方。在
<file>
b64file.base64
是否要将base64文件(仍然是base64编码)的逐字内容放入XML文件中,而不是“Tbase”?如果是这样的话,你可以这样做:
(如果您使用的是Python2.6或更高版本,可以使用with语句做得更清楚一些,但这是另一个讨论。)
如果您想先对base64文件进行解码,并将解码后的内容放入XML文件中,那么应该将上面示例最后一行的
b64file
替换为b64file.decode("base64")
。在当然,如上所述,进行简单的文本替换,会让您发现如果标题或作者也包含“Tbase”就会遇到的问题。更好的方法是使用实际的XML解析库,如下所示:
^{pr2}$这会将
<file>
标记的内容设置为文件b64file.base64
的内容,而不管它以前的内容是什么,也不管“Tbase”是否出现在XML文档的其他地方。在相关问题 更多 >
编程相关推荐