Python如何import其它 py檔案及其函式

2021-09-25 17:48:49 字數 885 閱讀 1219

如上圖所示,我想在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了。

import 如何工作

coding utf 8 python 27 xiaodeng import 如何工作 程式第一次匯入指定檔案時,會執行三個步驟 1 找到模組檔案 2 編譯成位碼 需要時 3 執行模組的 來建立其所定義的物件 在這之後,匯入相同模組時,會跳過這3個步驟,而只提取記憶體中的已載入的模組物件。從技術上來...

Python專案中如何優雅的import

wxoa tree cl main.py test wxoa init py pycache init cpython 35.pyc entity init py pycache init cpython 35.pyc user.cpython 35.pyc user.py util init py...

python是如何查詢import模組的

python是如何查詢import模組的 import sys print sys.path 列印結果如下 e pythonproject lesson venv com lxy test d develop pycharm 2019.2 helpers pydev e pythonproject ...