1
A
回答
4
你可以找到信息
foo.__file__
注意,不是所有的模塊都來自文件,雖然。一些模塊也直接編譯到解釋器中,這些模塊將不具有__file__
屬性。
解釋器中包含的模塊列表可在sys.builtin_module_names
中找到。
0
當模塊沒有與文件系統中的文件進行一對一映射時,我不確定__file__
的值。特別是,如果它正在加載在ZIP文件中找到的模塊,我不確定__file__
的樣子。 (當我需要這樣的映射時,我使用了元組(「path/to/file.zip」,「path/within/zip/module.pyc」),但這是手動執行sys.path的結果。 )如果它將__file__
設置爲None
,我不會感到驚訝。
當它是一個關於同一個名稱的模塊將被加載的問題時,它總是第一個在sys.path
上找到的。
在您首次導入軟件包以手動調整內容之前,可能需要sys.path.insert(0, some_dir)
。 (在環境中,設置爲PYTHONPATH。)
理想情況下,只需通過檢查PYTHONPATH
和/或sys.path
即可找出正在使用哪個。如果加載的是錯誤的,修復它的唯一方法是使用PYTHONPATH
或sys.path
。
相關問題
- 1. 如何獲得通過setsid
- 2. 如何獲得通過JDBC
- 3. 如何獲得通過API
- 4. 如何獲得通過AJAX
- 5. 如何獲得通過VBA
- 6. 如何獲得通過
- 7. 如何獲得通過HTTP
- 8. 如何通過https獲得wcf通信
- 9. 如何獲得通過通配符
- 10. 如何通過Python獲得MongoDB中文件的密鑰類型
- 11. 通過python使用硒如何獲得按鈕的名稱?
- 12. 如何通過使用Python的PCA獲得第一主組件?
- 13. 如何通過圖形sudo獲得python的root權限?
- 14. 如何獲得通過JavaScript的
- 15. 如何獲得通過的XmlReader
- 16. 如何獲得通過的關鍵
- 17. 如何通過ArrayList中獲得的ArrayList
- 18. 如何獲得通過的XPath
- 19. 如何獲得通過的關鍵
- 20. 獲得通過
- 21. neo4j通過python獲得關係值
- 22. 如何獲得通過保持輪班獲得的字符?
- 23. 如何通過值在字典(Python 2.7版)獲得鑰匙
- 24. 如何通過python獲得'java -version'輸出
- 25. 我如何通過facebook api獲得朋友的興趣?
- 26. 如何獲得IMEI號碼?我的設備通過離子?
- 27. 如何通過編程從Zapier獲得我的zaps?
- 28. 如何獲得ID,當你通過我的ID
- 29. 如何獲得不通過G + API加回我的用戶?
- 30. 如何通過我創建的活動獲得點擊率?
還有一些是從C編譯的,不會直接提供源代碼。 – 2011-06-11 00:32:53
謝謝Sven。但是Python告訴我,我導入的模塊沒有__ file __屬性(爲防止默認的__bold__行爲而添加了空格),而且它絕對不是在解釋器中編譯的。我試圖區分安裝在python中的活塞0.2.2和我在django項目位置複製的活塞源代碼的單獨分支。 – Trindaz 2011-06-11 00:54:07
實際上,所有未編譯到解釋器中的模塊都應具有'__file__'屬性,無論它們是C擴展名還是從'.pyc'文件或其他任何文件加載。你使用的是什麼版本的Python?無論如何,您還可以嘗試使用'imp.find_module()'來找出Python將要導入的文件。 – 2011-06-11 01:10:54