ImportError: No module named etree.ElementTree問題解決方法
阿新 • • 發佈:2017-07-15
再次 手工 沒有 導致 eba pan 刪除 error: ttr
。
學習python操作xml文檔過程中碰到的ImportError: No module named etree.ElementTree問題,問題現象比較奇怪,做個記錄。
前提條件
1、創建了一個xml文件,文件名為student.xml
2、創建xml.py文件,代碼如下:
import xml.etree.ElementTree as ET try: ET.parse("student.xml") print "student.xml ok" except: print "student.xml bad" print e
問題現象
執行完一次xml.py文件後再次執行xml.py總是提示ImportError: No module named etree.ElementTree錯誤,手工import xml也是報相同的錯誤。現象如下
>>> import xml Traceback (most recent call last): File "<stdin>", line 1, in <module> File "xml.py", line 1, in <module> import xml.etree.ElementTree as ET ImportError: No module named etree.ElementTree
問題分析
這個現象奇怪的地方在於手工import xml正常來說是和我原來的文件不相幹的,正常來說應該提示如下錯誤
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named xml
開始以為是沒有退出環境的原因,退出重新登錄依然如此。考慮import模塊導入加載的順序。python首先查找當前路徑、然後查找lib目錄、site-packages目錄(Python\Lib\site-packages)和環境變量PYTHONPATH設置的目錄。
這裏,我們就知道是python代碼文件命名的原因,這樣就會導致import首先加載xml.py,從而導致問題發生。所以文件名不能命名為xml.py
問題解決
刪除xml.py所在的目錄下的xml.pyc文件,修改文件名重新執行。
ImportError: No module named etree.ElementTree問題解決方法