Python如何匯入自定義模組?
阿新 • • 發佈:2022-12-10
在C語言裡為了工程檔案的主程式main程式碼簡潔的效果,我們經常用include“XXX”的來匯入其.h檔案
在Python裡Import自己的自定義模組需要注意幾個坑
以main主函式和需要匯入的halo模組為例:
一、一般Import只需要將main.py和halo.py放在同一個資料夾即可成功匯入
'''
main.py裡直接匯入使用即可
'''
import halo
halo.hello('kumata')
#輸出hello,kumata
二、當不在同一個資料夾的時候,在halo的資料夾(kk)裡命名__init__.py檔案
__init__.py
檔案相當於一個標記作用,一個資料夾中包含這個檔案,那麼該資料夾在Python中被定義為Module,__init__.py
'''
要注意主程式裡import的寫法(加了__init__.py之後kk就是一個package了)
'''
#Python學習交流群:489111204
from kk import halo
halo.hello('kumata')
#輸出 hello,kumata
三、使用sys在path中加入模組的路徑
需要自己定義模組的存放位置就要先新增自己的路徑到sys.path,通過sys.path.append(‘dir’)來新增自己的模組儲存路徑,其實就是像目錄列表中新增一個元素
''' 以halo.py為例子 halo.py的路徑為:C:\Users\BEAR\Desktop\Training\5.函式\kk ''' import sys sys.path.append(r'C:\Users\BEAR\Desktop\Training\5.函式\kk') from kk import halo halo.hello('kumata') #hello, kumata #也可以檢視path都有哪些 print(sys.path) ''' ['C:\\Users\\BEAR\\Desktop\\Training\\5.函式', 'C:\\Users\\BEAR\\Desktop\\Training', 'C:\\Users\\BEAR\\Desktop\\Training\\venv\\Scripts\\python37.zip', 'C:\\python\\DLLs', 'C:\\python\\lib', 'C:\\python', 'C:\\Users\\BEAR\\Desktop\\Training\\venv', 'C:\\Users\\BEAR\\Desktop\\Training\\venv\\lib\\site-packages', 'C:\\Users\\BEAR\\Desktop\\Training\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg', 'C:\\Users\\BEAR\\Desktop\\Training\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg', 'C:\\Users\\BEAR\\Desktop\\Training\\5.函式\\kk'] ''' #可以看到python的所有檢索範圍,而排在第一位的就是當前目錄