Python如何import其它.py文件及其函數



如上圖所示,我想在test_1.py文件中import我在lstm_1.py中定義的LstmParam和 LstmNetwork。我直接采用的是最簡單的引用方法:from lstm_1 import LstmParam, LstmNetwork,但是很明顯報錯了,不能直接這樣引用。因為,編譯環境無法直接找到。

當你import的時候,python解釋器只會在sys.path這個變量(一個list,你可以print出來看)里面的路徑中找可能匹配的package或module。

而一個package跟一個普通文件夾的區別在於,package的文件夾中多了一個__init__.py文件。換句話說,如果你在某個文件夾中添加了一個__init__.py文件,則python就認為這個文件夾是一個python中的package。

__init__.py文件的內容可以是空的(package里面必備這個模塊,.py的文件就是模塊,這個知識點要知道),它只是告訴python當前文件夾是一個python中的package。當然,你可以在這個__init__.py的module里面添加一些代碼,這些代碼會在import這個package的時候運行,也就是package下__init__.py模塊,會在import package后,立刻會從無縮進的地方開始執行代碼。

所以,請確保你要import的py文件所在的目錄有__init__.py文件。

那出現以上問題時我們怎樣才能成功引用呢?解決方法就是講我們需要引用的目標文件放到我們編譯環境的site-pakage 包文件里邊,然后就可以import了。



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM