On May 11, 11:12 pm, "Jerry Hill" <[EMAIL PROTECTED]> wrote: > On 11 May 2007 00:05:19 -0700, [EMAIL PROTECTED] > > <[EMAIL PROTECTED]> wrote: > > For the above code to work elementtree is > > imported in first line ,but when running it says : > > ImportError: No module named elementtree.ElementTree > > Does thie module exists as default or a patch is needed? > > That depends on which version of Python you are running. Starting > with 2.5, ElementTree was moved into the standard library, as part of > the xml package. If you're using an older version of python, I think > you'll need to download and install the elementtree package > fromhttp://effbot.org/zone/element-index.htm > > Assuming you're using python 2.5, you probably want something like this: > > from xml.etree.ElementTree import ElementTree as et >
1. The OP appears to be confusing ElementTree and Element (objects of the first class are containers of objects of the second class). 2. For any serious work to be done efficiently, the cElementTree module should be used. 3. Here's some code that appears to work for supporting multiple versions of Python: 8< --- import_et.py --- import sys python_version = sys.version_info[:2] print >> sys.stderr, "Python version:", sys.version_info if python_version >= (2, 5): import xml.etree.cElementTree as ET else: try: import cElementTree as ET except ImportError: try: import ElementTree as ET except ImportError: msg = "\nYou need the [c]ElementTree package\n" \ "from http://effbot.org/downloads/\n\n" sys.stderr.write(msg) raise print >> sys.stderr, "ET imported from", ET.__file__ 8< --- end of import_et.py --- 4. and some (occasionally astonishing) results: C:\junk>for %v in (5,1,4) do \python2%v\python import_et.py C:\junk>\python25\python import_et.py Python version: (2, 5, 1, 'final', 0) ET imported from C:\python25\lib\xml\etree\cElementTree.pyc C:\junk>\python21\python import_et.py Python version: (2, 1, 3, 'final', 0) ET imported from C:\python21\cElementTree.pyd C:\junk>\python24\python import_et.py Python version: (2, 4, 3, 'final', 0) ET imported from C:\Documents and Settings\sjm\Application Data\Python- Eggs\celementtree-1.0.5_20051216-py2.4-win32.egg-tmp\cElementTree.pyd IIRC, I have TurboGears (a leading contender for the "All of your sys.path are belong to us" award) to thank for that little gem :-) HTH, John -- http://mail.python.org/mailman/listinfo/python-list