溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

跨文件調(diào)用.py文件件,import本質(zhì)

發(fā)布時(shí)間:2020-06-12 12:36:17 來(lái)源:網(wǎng)絡(luò) 閱讀:3526 作者:堅(jiān)持和學(xué)習(xí) 欄目:編程語(yǔ)言

跨目錄調(diào)用文件

import os
import sys
BASEDIR=os.path.dirname(os.path.abspath(file))
#os.path.abspath(file) #自動(dòng)返回絕對(duì)路徑
#os.path.dirname(os.path.abspath(file)) #返回目錄名不要文件名
#os.path.dirname(os.path.dirname(os.path.abspath(file))) #返回上一層目錄
print(BASEDIR)

sys.path.append(BASEDIR) #添加環(huán)境變量
from 模塊三 import 類

類.ddd()

#1.定義:

模塊:用從邏輯上組織Python代碼(變量,函數(shù),類,邏輯:實(shí)現(xiàn)一個(gè)功能),

#本質(zhì)上是.py結(jié)尾的pyrhon文件(文件名:test.py,對(duì)應(yīng)的模塊名:test)
#包用來(lái)從邏輯上組織模塊的,本質(zhì)就一個(gè)目錄(必須帶有一個(gè)init.py文件)

#2.導(dǎo)入方法

import alex_text #導(dǎo)入蘑菇模塊

#alex_test.logger() #調(diào)用模塊里的東西需要加前綴alex_text

import alex_name,main_t #導(dǎo)入多個(gè)模塊

from 能跨目錄調(diào)用.py文件(from day5(目錄名) import test(.py文件名) # logger.test1.test() )

#from module_xxx import * #導(dǎo)入模塊中所有的代碼(相當(dāng)于把代碼復(fù)制并編譯一遍,會(huì)與當(dāng)前文件中的同樣名字的變量等互相覆蓋)
#logger() #能直接調(diào)用模塊里的東西(不需要前綴)

#from alex_txt import logger,m2,m3 #導(dǎo)入多個(gè)變量(調(diào)用時(shí)不需要前綴)
#from alex_txt import loggt as loggt_main #導(dǎo)入模塊后改變其名

#3.import本質(zhì)(路徑搜索和搜索路徑)
#導(dǎo)入模塊的本質(zhì)就是把python文件解釋一遍
#導(dǎo)入包的本質(zhì)就是執(zhí)行該包下的init.py文件

導(dǎo)入在包中的.py文件需要在init文件中調(diào)用那個(gè)文件from . import test 是表示文件當(dāng)前路徑

#4.優(yōu)化
#剩下每次去尋找路徑,直接調(diào)用。
#from test import text1

#5.模塊分類:
#a:標(biāo)準(zhǔn)庫(kù)(內(nèi)置模塊)
#b:開(kāi)源模塊
#c:自定義模塊

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI