導(dǎo)入官方模塊的時(shí)候,不需要考慮路徑問題,這是因?yàn)樵谒阉髂K的時(shí)候,會(huì)默認(rèn)包含官方模塊的路徑,所以導(dǎo)入官方模塊不需要考慮路徑的問題。
如果需要導(dǎo)入自定義模塊,則需要了解Python導(dǎo)入模塊搜索的路徑。
通過sys模塊,可以知道導(dǎo)入模塊的路徑。
>>> import sys >>> sys.path ['', '/data/miniconda3/lib/python3.8', '/data/miniconda3/lib/python3.8/site-packages']
它返回的是一個(gè)列表,表示的是在搜索Python模塊時(shí),會(huì)搜索的路徑,在示例中,返回了四個(gè)路徑。我們分析一些關(guān)鍵路徑:
第一個(gè)路徑是'',它是一個(gè)空字符串,表達(dá)的是當(dāng)前路徑的意思。
第二個(gè)路徑是/data/miniconda3/lib/python3.8,它是Python默認(rèn)模塊的存放的路徑,在這個(gè)路徑下,可以發(fā)現(xiàn)有os、sys等模塊的代碼。
第三個(gè)路徑是/data/miniconda3/lib/python3.8/site-packages,它是第三方模塊代碼的存放路徑,在這個(gè)路徑下,存放的是需要安裝的第三方模塊。
那如何使用我們前面定義的tools.py模塊呢?
我們?cè)趖ools.py同級(jí)目錄,創(chuàng)建main.py文件:
# main.py import tools # 導(dǎo)入模塊 tools.say_hello() # 調(diào)用模塊里面的say_hello()函數(shù) tools.say_goodbye() # 調(diào)用模塊里面的say_goodbye()函數(shù)
就可以運(yùn)行了。
因?yàn)樵谒阉靼穆窂綍r(shí),會(huì)搜索當(dāng)前路徑(上述:sys.path結(jié)果的第一項(xiàng)),因此在同一個(gè)目錄內(nèi)的tools.py模塊,可以被搜索到,所以能夠import進(jìn)來。
Python的sys.path返回的是一個(gè)路徑列表,因此可以操作列表里面的元素,請(qǐng)通過sys.path增加路徑'../',使得在運(yùn)行時(shí),可以導(dǎo)入當(dāng)前目錄上級(jí)目錄的包。
參考答案:
import sys sys.path.append('../')
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)