python - import里的dot是以哪個(gè)路徑作為根目錄的?
問題描述
# in mylib.py filefrom . import xmlfrom .xml import some_thingfrom ..xml import some_thing...
這類顯式的相對(duì)引用,是用哪個(gè)路徑作為根目錄的呢? 特別的,當(dāng)這上述程序本身也是一個(gè)程序庫,發(fā)布后被其他用戶
import mylib
那此時(shí)又是相對(duì)什么路徑來計(jì)算的呢?
另外一個(gè)問題,
import osassert os.path.isdir(’,’)
這個(gè)沒問題。但有些程序庫,比如PIL
import PILPIL.Image(...) # 就會(huì)報(bào)錯(cuò),找不到Image,需要顯式的import PIL.ImagePIL.Image(...) # OK
這又是為什么呢?先謝謝了哈。
問題解答
回答1:.(dot) 是以你當(dāng)前運(yùn)行文件路徑為當(dāng)前路徑
發(fā)布后被其他用戶引用, 在你Python安裝目錄下有一個(gè)Lib目錄, 直接像import os這樣的是引用該目錄下全局的模塊
import osos.path...
可以運(yùn)行是因?yàn)閛s是一個(gè)模塊, 也是一個(gè)可運(yùn)行的python文件
而PIL那個(gè)例子,因?yàn)闆]有我沒有PIL,我只能不負(fù)責(zé)任的猜測(cè)PIL不是一個(gè)模塊
相關(guān)文章:
1. nignx - docker內(nèi)nginx 80端口被占用2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. 關(guān)于docker下的nginx壓力測(cè)試4. docker - 各位電腦上有多少個(gè)容器?。咳萜饕欢?,自己都搞混了,咋辦呢?5. mac里的docker如何命令行開啟呢?6. docker容器呢SSH為什么連不通呢?7. docker start -a dockername 老是卡住,什么情況?8. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件9. docker gitlab 如何git clone?10. macos - mac下docker如何設(shè)置代理

網(wǎng)公網(wǎng)安備