Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用lxml在Python中存储系统路径_Python_Xml_Lxml - Fatal编程技术网

使用lxml在Python中存储系统路径

使用lxml在Python中存储系统路径,python,xml,lxml,Python,Xml,Lxml,我正在使用一个xml文件来存储软件的配置 其中一种配置是系统路径,如 > set_value = "c:\\test\\3 tests\\test" 我可以使用以下方法存储它: > setting = etree.SubElement(settings, > "setting", name=tmp_set_name, type = > set_type , value= set_value) 如果我使用 doc.write(output_file, method='x

我正在使用一个xml文件来存储软件的配置

其中一种配置是系统路径,如

> set_value = "c:\\test\\3 tests\\test"
我可以使用以下方法存储它:

> setting = etree.SubElement(settings,
> "setting", name=tmp_set_name, type =
> set_type , value= set_value)
如果我使用

doc.write(output_file, method='xml',encoding = 'utf-8', compression=0)
该文件将是:

现在我用etree.parse方法再次阅读了它

我获取了一个具有字符串值的etree子对象,但字符串 包含

\三,

字符,如果我尝试使用它再次写入xml,它将被解释!!!!!所以我不能再把它当作一条路了 也许我只缺少一个简单的字符串操作,但我看不到它=) 你将如何以明智的方式解决这个问题

这是一个示例,但您认为用xml存储路径并用lxml解析路径的最佳方法是什么

谢谢

现在,我又读了一遍 etree.parse方法

我获得一个具有 字符串值,但该字符串包含

如果我想用它来 再次写入xml,它将 解释

我只是试了一下,但没有得到“解释”。解析后返回的元素属性为:

{'type': 'str', 'name': 'yowza!', 'value': 'c:\\test\\3 tests\\test'}
正如你所看到的,这就像你所期望的那样。如果你真的有这个问题,你是在做别的事情,而不是在说什么。向我们展示真实的代码,或者制作一个小示例代码,在其中演示问题并使用它

现在,我又读了一遍 etree.parse方法

我获得一个具有 字符串值,但该字符串包含

如果我想用它来 再次写入xml,它将 解释

我只是试了一下,但没有得到“解释”。解析后返回的元素属性为:

{'type': 'str', 'name': 'yowza!', 'value': 'c:\\test\\3 tests\\test'}

正如你所看到的,这就像你所期望的那样。如果你真的有这个问题,你是在做别的事情,而不是在说什么。向我们展示真实的代码,或者制作一个小示例代码,在其中演示问题并使用它。

这只是反斜杠的问题吗?如果是这样的话,就用前斜杠吧——它们在Windows上也很好用。这只是后斜杠的问题吗?如果是这样的话,就用斜杠吧——它们在Windows上也很好用。谢谢你,你的测试非常有用。我使用从xml中删除的值在设置对象内创建变量。问题就在这段代码中:exec('self.%s=%s%%(k,v)),其中k是属性名,v是值\\,当在%s中被替换时,在解释的位置。当我读取对象以创建xml时,我读取字符串时没有使用double\\n,我错误地认为问题出在lxml打印中,但这是前面的一段。你为什么要使用exec?谢谢你,你的测试非常有用。我使用从xml中删除的值在设置对象内创建变量。问题就在这段代码中:exec('self.%s=%s%%(k,v)),其中k是属性名,v是值\\,当在%s中被替换时,在解释的位置。当我读取对象以创建xml时,我读取字符串时没有使用double\\n,我错误地认为问题出在lxml打印中,但这是前面的一段。你为什么要使用exec?setattr(自、k、v)