python如何導(dǎo)入自己的模塊
如何導(dǎo)入自己的模塊
在實(shí)際的編程生活當(dāng)中,我們除了會(huì)去import已經(jīng)存在的包外,當(dāng)然還會(huì)偶爾自定義一些模塊,然后來導(dǎo)入,其實(shí)一般而言,自定義的模塊也就是一系列的腳本,具體的,自己寫好了腳本,然后導(dǎo)入,導(dǎo)入的情況分為以下情況:
1.自定義模塊與所需要調(diào)用自定義模塊的文件在同一文件夾下
這時(shí)的調(diào)用就較為簡單了,直接導(dǎo)入即可
比如說我想要在learnpandas中導(dǎo)入m1.py,只需要在learnpandas腳本開頭聲明import m1.py即可
2.自定義模塊與所需要調(diào)用自定義模塊的文件不在同一文件夾下
其實(shí)這個(gè)的話,如果不怕麻煩的話可以用1中的方法,把需要導(dǎo)入的文件一個(gè)一個(gè)手動(dòng)拖到當(dāng)前文件夾中,,,當(dāng)然這個(gè)方法時(shí)比較復(fù)雜的,尤其是要導(dǎo)入的文件較多的時(shí)候,,,,
這個(gè)時(shí)候有一個(gè)更聰明的方法
假設(shè)下圖是我們需要導(dǎo)入的文件目錄
在這種情況下,我們?cè)趂older中新建一個(gè)__init__.py文件,此時(shí)的folder不再是一個(gè)普通的文件夾,而是一個(gè)包 package
在這個(gè)時(shí)候,想導(dǎo)入哪一個(gè)文件的話就只需在文件開頭import folder.filename即可(記得要先將自定義庫路徑添加到Python的庫路徑中)
3.找到本地庫的路徑
然后將文件拷進(jìn)去即可
4.手動(dòng)給python添加搜索路徑
具體做法是:
在python安裝目錄的\Lib\site-packages文件夾中建立一個(gè).pth文件,內(nèi)容為自己寫的庫絕對(duì)路徑
- - - - - - - - - - - - - - - - - 分割線- - - - - - - - - - - - - - - - -
將自定義庫的路徑添加到Python的庫路徑中去,有如下兩種方法:
1. 動(dòng)態(tài)的添加庫路徑。在程序運(yùn)行過程中修改sys.path的值,添加自己的庫路徑
import sys sys.path.append(r'your_path')?
2. 在Python安裝目錄下的\Lib\site-packages文件夾中建立一個(gè).pth文件,內(nèi)容為自己寫的庫路徑。
示例如下
E:\\work\\Python\\http
E:\\work\\Python\\logging
- - - - - - - - - - - - - - - - - 分割線- - - - - - - - - - - - - - - - -
在這里說一句Python的包搜索路徑:
Python會(huì)在以下路徑中搜索它想要尋找的模塊:
1. 程序所在的文件夾
2. 標(biāo)準(zhǔn)庫的安裝路徑
3. 操作系統(tǒng)環(huán)境變量PYTHONPATH所包含的路徑
導(dǎo)入本地模塊報(bào)錯(cuò)的問題
很多時(shí)候,我們?cè)趯懸粋€(gè)python項(xiàng)目時(shí),都會(huì)分模塊來寫,在一個(gè)模塊中導(dǎo)入自己寫的另一個(gè)模塊,最后在寫一個(gè)啟動(dòng)程序,但運(yùn)行啟動(dòng)程序時(shí)往往會(huì)報(bào)錯(cuò)說找不到你寫的模塊,對(duì)此,這里教大家一種通用且正規(guī)的python項(xiàng)目組織結(jié)構(gòu),基本都能解決這種找不到本地模塊的問題。
以下圖為例說明
首先是創(chuàng)建一個(gè)項(xiàng)目文件夾:myproject ,這里面包括啟動(dòng)文件start.py、README.md文件以及你的項(xiàng)目文件myproject文件夾。這就是基本的項(xiàng)目結(jié)構(gòu)。
這樣你就能在myproject文件夾里面的py文件里使用相對(duì)路徑導(dǎo)入其他文件夾下的模塊了。
其實(shí),Scrapy項(xiàng)目的目錄結(jié)構(gòu)也大致是這樣的,大家可以看看創(chuàng)建scrapy項(xiàng)目時(shí)的目錄結(jié)構(gòu)。
mytask.py
這里就很方便使用 “.” 和 “..” 來表示當(dāng)前路徑和上一級(jí)路徑了start.py
這里要注意,啟動(dòng)文件start.py中不能使用".“和”.."等來導(dǎo)入本地模塊,因?yàn)橹髂K(啟動(dòng)文件)不能使用相對(duì)導(dǎo)入。
最后,只要在命令行輸入python start.py就可以運(yùn)行程序了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python?識(shí)別錄音并轉(zhuǎn)為文字的實(shí)現(xiàn)
本文主要介紹了Python?識(shí)別錄音并轉(zhuǎn)為文字的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Python寫了個(gè)疫情信息快速查看工具實(shí)例代碼
本次使用PyQt5開發(fā)了一款疫情信息快速查看工具,實(shí)現(xiàn)了多個(gè)數(shù)據(jù)源的查看,代碼量不大,功能相當(dāng)于瀏覽器,只是限定了一些特定網(wǎng)址,這篇文章主要介紹了Python寫了個(gè)疫情信息快速查看工具,需要的朋友可以參考下2022-11-11使用python查找windows系統(tǒng)中所有程序的安裝信息
這篇文章主要為大家介紹了使用python查找windows系統(tǒng)中所有程序的安裝信息示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析
這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11python解決方案:WindowsError: [Error 2]
使用Python的rename()函數(shù)重命名文件時(shí)出現(xiàn)問題,提示 WindowsError: [Error 2] 錯(cuò)誤,需要的朋友可以參考下2016-08-08Python數(shù)據(jù)分析之雙色球中藍(lán)紅球分析統(tǒng)計(jì)示例
這篇文章主要介紹了Python數(shù)據(jù)分析之雙色球中藍(lán)紅球分析統(tǒng)計(jì),結(jié)合實(shí)例形式較為詳細(xì)的分析了Python針對(duì)雙色球藍(lán)紅球中獎(jiǎng)數(shù)據(jù)分析的相關(guān)操作技巧,需要的朋友可以參考下2018-02-02