這里主要介紹第二種方法:通過.ph文件進(jìn)行設(shè)置,好處是可以將路徑設(shè)為永久路徑

10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有新和免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在Python的安裝目錄下,找到?\Lib\site-packages?文件夾,在該文件夾下新建一個以.pth為后綴名的文件,編輯文件,內(nèi)容為要添加的庫路徑。(我的文件名命名為setpath.pth)。添加路徑示例:文件內(nèi)容寫入要引用的庫路徑
步驟1:建立文件,可以首先建立一個文本文檔,寫下路徑如D:\\Python\\mulib。我這里新建的文件路徑的文件夾命名為“mulib”
步驟2:保存文檔時,將文件類型選為所有,文件名為 setpath.pth。文件名是什么無所謂,主要是只有當(dāng)文檔類型選為“所有文件”,才可以定義文件類型為.pth
步驟3:將保存好的文件放在Python的site-packages文件夾中就完成了。
這個問題涉及到包和模塊管理。包名和模塊名一般是小寫。你的文件是下面的結(jié)構(gòu),需要創(chuàng)建空文件 b/__init__.py,將b目錄變成package。a/a.py
12
from b.c import indexindex()
b/c.py
12
def index(): print("hello")
b/__init__.pya/a.py 里面有兩種引用方式,相對引用和絕對引用:# 如果a.py是 library,兩種引用方式都可以
1
from ..b.c import index
# 如果a.py是 executable,必須使用絕對引用
1
from b.c import index
如果使用絕對引用,需要確保b所在目錄在PYTHONPATH (sys.path)里面,比如可以這樣執(zhí)行:
1
env PYTHONPATH=. python a/a.py
看你用哪種方式
如果是import
包名,就是包名.函數(shù)名方式調(diào)用
如果是from
包名
import
函數(shù)名、from
包名
import
*,就是直接函數(shù)名就可以調(diào)用
沒有可以自動導(dǎo)入的工具,只能手動導(dǎo)入模塊
python環(huán)境變量設(shè)置可以在系統(tǒng)環(huán)境變量里設(shè)置PYTHONPATH
也可以使用python命令行設(shè)置,
cmd
python
import sys
sys.path.append(path of your lib-dir)
exit
from xxx import *
就行了
比如math中的sin
from math import *
sin(x)這樣就行了
6.4. 包
包通常是使用用“圓點模塊名”的結(jié)構(gòu)化模塊命名空間。例如,名為 A.B 的模塊表示了名為 A 的包中名為 B 的子模塊。正如同用模塊來保存不同的模塊架構(gòu)可以避免全局變量之間的相互沖突,使用圓點模塊名保存像 NumPy 或 Python Imaging Library 之類的不同類庫架構(gòu)可以避免模塊之間的命名沖突。
假設(shè)你現(xiàn)在想要設(shè)計一個模塊集(一個“包”)來統(tǒng)一處理聲音文件和聲音數(shù)據(jù)。存在幾種不同的聲音格式(通常由它們的擴(kuò)展名來標(biāo)識,例如:.wav, .aiff,.au ),于是,為了在不同類型的文件格式之間轉(zhuǎn)換,你需要維護(hù)一個不斷增長的包集合。可能你還想要對聲音數(shù)據(jù)做很多不同的操作(例如混音,添加回聲,應(yīng)用平衡 功能,創(chuàng)建一個人造效果),所以你要加入一個無限流模塊來執(zhí)行這些操作。你的包可能會是這個樣子(通過分級的文件體系來進(jìn)行分組)
當(dāng)導(dǎo)入這個包時,Python 通過 sys.path 搜索路徑查找包含這個包的子目錄。
為了讓 Python 將目錄當(dāng)作內(nèi)容包,目錄中必須包含 __init__.py 文件。這是為了避免一個含有爛俗名字的目錄無意中隱藏了稍后在模塊搜索路徑中出現(xiàn)的有效模塊,比如 string。最簡單的情況下,只需要一個空的 __init__.py 文件即可。當(dāng)然它也可以執(zhí)行包的初始化代碼,或者定義稍后介紹的 __all__ 變量。
用戶可以每次只導(dǎo)入包里的特定模塊,例如:
import sound.effects.echo
這樣就導(dǎo)入了 sound.effects.echo 子模塊。它必需通過完整的名稱來引用:
sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)
導(dǎo)入包時有一個可以選擇的方式:
from sound.effects import echo
這樣就加載了 echo 子模塊,并且使得它在沒有包前綴的情況下也可以使用,所以它可以如下方式調(diào)用:
echo.echofilter(input, output, delay=0.7, atten=4)
還有另一種變體用于直接導(dǎo)入函數(shù)或變量:
from sound.effects.echo import echofilter
這樣就又一次加載了 echo 子模塊,但這樣就可以直接調(diào)用它的 echofilter() 函數(shù):
echofilter(input, output, delay=0.7, atten=4)
需要注意的是使用 from package import item 方式導(dǎo)入包時,這個子項(item)既可以是包中的一個子模塊(或一個子包),也可以是包中定義的其它命名,像函數(shù)、類或變量。import 語句首先核對是否包中有這個子項,如果沒有,它假定這是一個模塊,并嘗試加載它。如果沒有找到它,會引發(fā)一個 ImportError 異常。
本文名稱:python加載函數(shù)包,python怎么調(diào)用包
分享URL:http://chinadenli.net/article6/hshcog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、軟件開發(fā)、移動網(wǎng)站建設(shè)、微信小程序、小程序開發(fā)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)