Я запускаю Python 2.5.4 в Windows, и я продолжаю получать ошибку при попытке импортировать ElementTree или cElementTree модули. Код очень прост (я следую учебному руководству):
import xml.etree.ElementTree as xml
root = xml.Element('root')
child = xml.Element('child')
root.append(child)
child.attrib['name'] = "Charlie"
file = open("test.xml", 'w')
xml.ElementTree(root).write(file)
file.close()
Я получаю сообщение об ошибке, когда я выполняю его от cmd или но не, когда я непосредственно пробую его от интерпретатора Python.
Traceback (most recent call last):
File "C:\xml.py", line 31, in <module>
import xml.etree.ElementTree as xml
File "C:\xml.py", line 31, in <module>
import xml.etree.ElementTree as xml
ImportError: No module named etree.ElementTree
Кроме того, я проверил, и модуль находится там в C:\Python25\Lib\xml\etree
Вы пропустили очень важную строку в учебнике
import xml.etree.ElementTree as xml
Благодаря этому xml.etree.ElementTree теперь известен как xml во всем модуле.
У меня есть python 2.5.4, и я убедился, что тот же код, который вы привели выше, работает:
user@Comp test$ cat test.py
import xml.etree.ElementTree as xml
root = xml.Element('root')
child = xml.Element('child')
root.append(child)
child.attrib['name'] = "Charlie"
file = open("test.xml", 'w')
xml.ElementTree(root).write(file)
file.close()
user@Comp test$ /usr/bin/python2.5 --version
Python 2.5.4
user@Comp test$ /usr/bin/python2.5 test.py
user@Comp test$ cat test.xml
<root><child name="Charlie" /></root>user@Comp test$
Так что проверьте и убедитесь, что вы используете python 2.5.4, и если это так, попробуйте переустановить. Проблема не в том, что это python 2.5.4 или ваш код. Это какая-то проблема с установкой, вы используете другую версию python, или есть какая-то другая странная проблема.