淺談python import引入不同路徑下的模塊
python 包含子目錄中的模塊方法比較簡(jiǎn)單,關(guān)鍵是能夠在sys.path里面找到通向模塊文件的路徑。
下面將具體介紹幾種常用情況:
(1)主程序與模塊程序在同一目錄下:
如下面程序結(jié)構(gòu):
`-- src
|-- mod1.py
`-- test1.py
若在程序test1.py中導(dǎo)入模塊mod1, 則直接使用 import mod1或from mod1 import *;
(2)主程序所在目錄是模塊所在目錄的父(或祖輩)目錄
如下面程序結(jié)構(gòu):
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py
若在程序test1.py中導(dǎo)入模塊mod2, 需要在mod2文件夾中建立空文件__init__.py文件(也可以在該文件中自定義輸出模塊接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序?qū)肷蠈幽夸浿心K或其他目錄(平級(jí))下的模塊
如下面程序結(jié)構(gòu):
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py
若在程序test2.py中導(dǎo)入模塊mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立該文件。然后調(diào)用方式如下:
下面程序執(zhí)行方式均在程序文件所在目錄下執(zhí)行,如test2.py是在cd sub;之后執(zhí)行python test2.py
而test1.py是在cd src;之后執(zhí)行python test1.py; 不保證在src目錄下執(zhí)行python sub/test2.py成功。
import sys
sys.path.append("..")
import mod1
import mod2.mod2
(4)從(3)可以看出,導(dǎo)入模塊關(guān)鍵是能夠根據(jù)sys.path環(huán)境變量的值,找到具體模塊的路徑。
這里僅介紹上面三種簡(jiǎn)單情況。
以上這篇淺談python import引入不同路徑下的模塊就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python練習(xí)之操作SQLite數(shù)據(jù)庫(kù)
這篇文章主要介紹了Python練習(xí)之操作SQLite數(shù)據(jù)庫(kù),主要通過三個(gè)問題如何創(chuàng)建SQLite數(shù)據(jù)庫(kù)?如何向SQLite表中插入數(shù)據(jù)?如何查詢SQLite表中的數(shù)據(jù)?展開文章主題詳情,需要的朋友可以參考一下2022-06-06Python 通過requests實(shí)現(xiàn)騰訊新聞抓取爬蟲的方法
今天小編就為大家分享一篇Python 通過requests實(shí)現(xiàn)騰訊新聞抓取爬蟲的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02關(guān)于tf.reverse_sequence()簡(jiǎn)述
今天小編就為大家分享一篇關(guān)于tf.reverse_sequence()簡(jiǎn)述,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python學(xué)習(xí)之12個(gè)常用基礎(chǔ)語(yǔ)法詳解
這篇文章主要為大家介紹了12個(gè)Python小案例,包含了日常開發(fā)中非常實(shí)用的語(yǔ)法,快來跟隨小編一起學(xué)習(xí)一下,看看自己都會(huì)多少個(gè)呢2022-02-02使用Python測(cè)試Ping主機(jī)IP和某端口是否開放的實(shí)例
今天小編就為大家分享一篇使用Python測(cè)試Ping主機(jī)IP和某端口是否開放的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python 3.x基礎(chǔ)實(shí)戰(zhàn)檢查磁盤可用空間
這篇文章主要為大家介紹了Python 3.x基礎(chǔ)實(shí)戰(zhàn)之檢查磁盤可用空間實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05