今天在執行腳本的時候,unittest引入報錯(報錯如下:)
AttributeError: 'module' object has no attribute 'TestResult'
最后發現是因為我文件的名字叫unittest 和我要引入的包名字一樣,修改后再刪除生成的 .pyc文件,腳本執行正常
問題解決方法:
1. 命名py腳本時,不要與python預留字,模塊名等相同
2. 刪除.pyc文件(因為py腳本每次運行時均會生成.pyc文件;在已經生成.pyc文件的情況下,若代碼不更新,運行時依舊會走pyc,所以要刪除.pyc文件),重新運行代碼。
附錄:
pyc文件介紹
pyc文件,是python編譯后的字節碼(bytecode)文件。只要你運行了py文件,python編譯器就會自動生成一個對應的pyc字節碼文件。這個pyc字節碼文件,經過python解釋器,會生成機器碼運行(這也是為什么pyc文件可以跨平台部署,類似於java的跨平台,java中JVM運行的字節碼文件)。下次調用直接調用pyc,而不調用py文件。直到你這個py文件有改變。python解釋器會檢查pyc文件中的生成時間,對比py文件的修改時間,如果py更新,那么就生成新的pyc。
