Python Ubuntu上的PyXML

Python Ubuntu上的PyXML,python,xml,Python,Xml,我刚刚完成了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 -------开始错误--------- userna

我刚刚完成了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
-------开始错误--------- username@ubuntu:~/data/code$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
回溯(最近一次呼叫最后一次):
文件“/home/username/data/code/app/trunk/MyScript.py”,第17行,在
从xml导入xpath
文件“/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_-xmlplus/xpath/u-init_uu.py”,第112行
从pyxpath导入ExprParserFactory
文件“/usr/local/lib/python2.6/dist packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/pyxpath.py”,第59行,在
从xml.xpath.parsedabbreeviatedRelativeLocationPath导入parsedabbreeviatedRelativeLocationPath
文件“/usr/local/lib/python2.6/dist packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/parsedabbrevieatedRelativeLocationPath.py”,第31行
as=ParsedAxisSpecifier.ParsedAxisSpecifier('后代或自身')
^
SyntaxError:无效语法
-------------端错误-------------------


我对PyXML的了解已经到了极限。我只想读取xml文件并使用xpath读/写数据。是否有一个更简单的库可以很容易地开箱即用?或者关于如何解决这个问题的任何想法?

PyXML应该是为非常旧的Python版本(<2.4)编写的,并且它使用了后面的一个关键字“as”作为变量。如果您的需求很简单,那么只需使用支持表达式的Python标准库。一个例子是

要使用标准库模块,请执行以下操作:

from xml.etree.ElementTree import ElementTree

作为记录,如果您确实需要PyXML(即您现在没有时间移植的遗留代码),只需将
更改为它用于其他变量名的两个位置即可


此外,我注意到Gentoo向pyxml添加了方法
use\u pyxml()
,该方法需要显式调用;因此,不使用标准库XML模块。看看这是否有趣。

sudo apt get install python lxml