我正在使用以下方法分析xml文件:
lxml.etree.parse(xmlFile)
我提取了一些包含单个反斜杠的节点属性 把它们存到字典里
然后我使用以下方法将词典写入文件:
f = open(myFile, 'w')
for k, v in sorted(dic.items()):
f.write(str((k,v)))
f.write('\n')
f.flush()
f.close()
我知道问题是,在解析之后,如果我使用以下命令将树写入文件:
tree.write('output4.xml')
树与原始文件完全相同,但是 保存到myFile中的词典有\\,而不是每个\ 那么为什么python会在找到的地方添加\呢。你知道吗
示例: 这是原始属性:
"\displaystyle\mathbb{Z}_{n}\longrightarrow\mathbb{Z}"
在字典文件中变成:
'\\\displaystyle\\\mathbb{Z}_{n}\\\longrightarrow\\\mathbb{Z}'
str((k,v))
使用k
和v
的^{这样做的好处是可以用
ast.literal_eval
反序列化,因为repr
的转义字符串与Python文本具有相同的语法:如果这不是你想要的,你就得找其他的方法写出这对。你知道吗
相关问题 更多 >
编程相关推荐