在學(xué)習(xí)使用Python解析XML的過(guò)程中,使用官方文檔https://docs./2/library/xml.etree.elementtree.html中的例子進(jìn)行測(cè)試,代碼如下: import xml.etree.ElementTree as ET 試著運(yùn)行,沒(méi)想到竟然會(huì)報(bào)錯(cuò): Traceback (most recent call last): File “/home/huayuan/code/xml.py”, line 1, in <module> import xml.etree.ElementTree as ET File “/home/huayuan/code/xml.py”, line 1, in <module> import xml.etree.ElementTree as ET ImportError: No module named etree.ElementTree [Finished in 0.1s with exit code 1] 檢查Python的庫(kù)路徑/usr/lib/python2.7/xml/etree,發(fā)現(xiàn)xml.etree.Element包是正常的,如下圖: 看報(bào)錯(cuò)提示是import xml.etree.ElementTree as ET 這一句有問(wèn)題,于是想盡辦法對(duì)它進(jìn)行不同的修改,結(jié)果還是于事無(wú)補(bǔ)。 最后只能求助于百度了,搜索了很久,發(fā)現(xiàn)網(wǎng)友們好像都挻順利的,幾乎沒(méi)人提過(guò)有這種情況。 后來(lái),終于在一個(gè)不起眼的角落看到了這么一句話:不要用xml 作為文件名。 本人正是把代碼文件命名成了xml.py,馬上重命名,再運(yùn)行。結(jié)果還是不行,仔細(xì)排查,發(fā)現(xiàn)生成的xml.pyc文件還存在,有可能是它造成的影響,刪了重試,終于順利運(yùn)行。 總結(jié): 回過(guò)頭來(lái)看,這個(gè)可以說(shuō)是個(gè)低級(jí)錯(cuò)誤,Python引用包的時(shí)候應(yīng)該是先在代碼文件所在的文件夾查找,把文件名命名為xml.py時(shí),import xml.etree.Element 這一句就在當(dāng)前文件夾找到了自身源文件,自己寫(xiě)的xml.py里面根本就沒(méi)有etree.Element這些模塊,當(dāng)然是要報(bào)錯(cuò)了。 本文出自 “自由自我” 博客,請(qǐng)務(wù)必保留此出處http://hhuayuan.blog.51cto.com/1630327/1557536 |
|