python引入導(dǎo)入自定義模塊和外部文件的實(shí)例
項(xiàng)目中想使用以前的代碼,或者什么樣的需求致使你需要導(dǎo)入外部的包
如果是web 下,比如說(shuō)django ,那么你新建一個(gè)app,把你需要導(dǎo)入的說(shuō)用東東,都寫到這個(gè)app中,然后在setting中的app也配上基本就ok了
如果是本地代碼,可以有幾種方式,
1、這種最簡(jiǎn)單,也可能最不實(shí)用,將你的外部文件放到跟需要調(diào)用外部文件的文件同一個(gè)包下,同一目錄
folder
------toinvoke.py
------tobeinvoded.py
這樣在toinvoke.py 中引入
import toveinvoked 或 from tobeinvoked import *
即可
2、你的其他文件不是單個(gè)文件,或者不能如上所說(shuō)放到同一目錄下,而是在不同目錄中,子目錄
folder
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
toinvoke.py
這種情況,現(xiàn)在folder 下新建一個(gè)__init__.py 的空文件,此時(shí)的folder不再是一個(gè)普通的文件夾,而是一個(gè)包 package,現(xiàn)在像這樣
folder #文件夾 現(xiàn)在的性質(zhì)為一個(gè)python包package
------__init__.py
------tobeinvoded.py
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
toinvoke.py
這樣在toinvoke.py 中引入
import folder.toveinvoked 或 from folder.tobeinvoked import *
即可
3、同理,如果是如下的情況,folderB中的模塊要調(diào)用folderA中的模塊,方法同上,有什么改變,你已經(jīng)知道了
folderA
------tobeinvoded.py
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
folderB
--------toinvoke.py
這樣在toinvoke.py 中引入
import folder.toveinvoked 或 from folder.tobeinvoked import *
即可
4、將要被調(diào)用的代碼拷貝到$PYTHONHOME$\Lib\site-packages 下面,這個(gè)就跟Eclipse插件安裝差不多
5、在$PYTHONHOME$\Lib\site-packages 下面新建一個(gè).pth文件,比如說(shuō)是MyPackage.pth,里面的內(nèi)容是你的包的絕對(duì)路徑比如:E:/PythonPrj
那么,在E:/PythonPrj下的所有包都可以按照包所在的相對(duì)路徑引入,這個(gè)跟Eclipse插件安裝的link 方式差不多
6、跟上面的差不多,也可以加個(gè)環(huán)境變量,這個(gè)就不多說(shuō)了
總結(jié)、看看Python的包搜索路徑
Python會(huì)在以下路徑中搜索它想要尋找的模塊:
1. 程序所在的文件夾
2. 標(biāo)準(zhǔn)庫(kù)的安裝路徑
3. 操作系統(tǒng)環(huán)境變量PYTHONPATH所包含的路徑
將自定義庫(kù)的路徑添加到Python的庫(kù)路徑中去,有如下兩種方法:
1. 動(dòng)態(tài)的添加庫(kù)路徑。在程序運(yùn)行過(guò)程中修改sys.path的值,添加自己的庫(kù)路徑
import sys
sys.path.append(r'your_path')
2. 在Python安裝目錄下的\Lib\site-packages文件夾中建立一個(gè).pth文件,內(nèi)容為自己寫的庫(kù)路徑。示例如下
E:\\work\\Python\\http
E:\\work\\Python\\logging
以上這篇python引入導(dǎo)入自定義模塊和外部文件的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python PyMySQL操作MySQL數(shù)據(jù)庫(kù)的方法詳解
PyMySQL是一個(gè)用于Python編程語(yǔ)言的純Python MySQL客戶端庫(kù),它遵循Python標(biāo)準(zhǔn)DB API接口,并提供了許多方便的功能,本文就來(lái)和大家簡(jiǎn)單介紹一下吧2023-05-05python web.py開(kāi)發(fā)httpserver解決跨域問(wèn)題實(shí)例解析
這篇文章主要介紹了python web.py開(kāi)發(fā)httpserver解決跨域問(wèn)題實(shí)例解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02python 擴(kuò)展print打印文件路徑和當(dāng)前時(shí)間信息的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了python 擴(kuò)展print打印文件路徑和當(dāng)前時(shí)間信息,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10python性能測(cè)試手機(jī)號(hào)驗(yàn)證碼登錄壓測(cè)示例詳解
這篇文章主要為大家介紹了python性能測(cè)試手機(jī)號(hào)驗(yàn)證碼登錄壓測(cè)的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07如何利用python實(shí)現(xiàn)kmeans聚類
K-Means是聚類算法的一種,以距離來(lái)判斷數(shù)據(jù)點(diǎn)間的相似度并對(duì)數(shù)據(jù)進(jìn)行聚類,下面這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)kmeans聚類的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05在pandas多重索引multiIndex中選定指定索引的行方法
今天小編就為大家分享一篇在pandas多重索引multiIndex中選定指定索引的行方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11零基礎(chǔ)使用Python讀寫處理Excel表格的方法
這篇文章主要介紹了Python讀寫處理Excel表格,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05