我刚刚完成了Ubuntu 10.10的全新安装,并且正在尝试运行一些使用xml和xpath的脚本。我从PyXML内部得到一个错误。
我认为这是一个安装错误。为了安装它,我执行了以下操作:
prompt> sudo apt-get install python2.6-dev # The next line wouldn't install without this.
prompt> sudo easy_install PyXML-BEGIN ERROR-用户名@ubuntu:~/数据/代码$ MyScript.py
Traceback (most recent call last):
File "/home/username/data/code/app/trunk/MyScript.py", line 17, in <module>
from xml import xpath
File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/__init__.py", line 112, in <module>
from pyxpath import ExprParserFactory
File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/pyxpath.py", line 59, in <module>
from xml.xpath.ParsedAbbreviatedRelativeLocationPath import ParsedAbbreviatedRelativeLocationPath
File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/ParsedAbbreviatedRelativeLocationPath.py", line 31
as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
^
SyntaxError: invalid syntax-结束错误
我对PyXML已经达到了我的极限。我只想用xpath读取xml文件和读/写数据。有没有更简单的库可以轻松地开箱即用?或者对如何解决这个问题有什么想法?
发布于 2011-02-10 13:14:18
PyXML应该是为非常旧的Python版本(< 2.4)编写的,并且它使用了后来的关键字之一' as‘作为它的变量。如果你的需求很简单,你可以只使用Python Standard library中的ElementTree,它支持XPath表达式。here就是一个例子。
要使用标准库模块,请执行以下操作:
from xml.etree.ElementTree import ElementTree发布于 2012-07-01 06:44:43
仅供记录,如果您确实需要PyXML (即,您现在没有时间移植的遗留代码),只需在用于其他变量名称的两个位置更改as即可。
此外,我注意到Gentoo向PyXML添加了use_pyxml()方法,该方法需要显式调用;因此没有使用标准库XML模块。如果对此感兴趣,请参阅here。
https://stackoverflow.com/questions/4953600
复制相似问题