Python腳本報錯AttributeError: ‘module’ object has no attribute’xxx’解決方法

今天在執行腳本的時候,unittest引入報錯(報錯以下:)java

AttributeError: 'module' object has no attribute 'TestResult'python

最後發現是由於我文件的名字叫unittest 和我要引入的包名字同樣,修改後再刪除生成的 .pyc文件,腳本執行正常spa

問題解決方法:code

1. 命名py腳本時,不要與python預留字,模塊名等相同部署

2. 刪除.pyc文件(由於py腳本每次運行時均會生成.pyc文件;在已經生成.pyc文件的狀況下,若代碼不更新,運行時依舊會走pyc,因此要刪除.pyc文件),從新運行代碼。get

 

附錄:編譯器

pyc文件介紹it

pyc文件,是python編譯後的字節碼(bytecode)文件。只要你運行了py文件,python編譯器就會自動生成一個對應的pyc字節碼文件。這個pyc字節碼文件,通過python解釋器,會生成機器碼運行(這也是爲何pyc文件能夠跨平臺部署,相似於java的跨平臺,java中JVM運行的字節碼文件)。下次調用直接調用pyc,而不調用py文件。直到你這個py文件有改變。python解釋器會檢查pyc文件中的生成時間,對比py文件的修改時間,若是py更新,那麼就生成新的pyc。編譯

相關文章
相關標籤/搜索