我需要存储人机和机器可读的结构化文件数据。我主要使用python来打开/编辑/读取这些文件。但是我也可能需要使用其他程序。
我以前使用XML / XPATH。然而,xpath库是脆弱的,并且在大多数系统上都不起作用而且没有太大的挫败感。我很累,试图找出xpath,我将脚本移植到不同的平台。
me@ubuntu:~/$ program -arg1 "foo" -arg2
File "/home/me/bin/script.py", line 16, in <module>
from xml import xpath
ImportError: cannot import name xpath
BTW,sudo apt-get install python-xml
无法解决此问题。
底线是我厌倦了xml / xpath。我想要一个适用于所有平台的解决方案,毫无疑问!
我可以使用什么?建议?
答案 0 :(得分:1)
xml.etree.elementTree
是标准库的一部分。它还包含一个基本的XPath findall
函数。
或者,您可以lxml's XPath methods模仿xml.etree.ElementTree
的接口,但支持更高级的XPath表达式。但是,lxml需要为installed,因为它不是标准库的一部分。
对于许多任务,您也可以使用JSON而不是XML。 JSON易于使用编程语言的本机函数进行解析和遍历。