1. 程式人生 > 其它 >Python如何匯入自定義模組?

Python如何匯入自定義模組?

在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的所有檢索範圍,而排在第一位的就是當前目錄