python - import里的dot是以哪個(gè)路徑作為根目錄的?
問(wèn)題描述
# in mylib.py filefrom . import xmlfrom .xml import some_thingfrom ..xml import some_thing...
這類(lèi)顯式的相對(duì)引用,是用哪個(gè)路徑作為根目錄的呢? 特別的,當(dāng)這上述程序本身也是一個(gè)程序庫(kù),發(fā)布后被其他用戶(hù)
import mylib
那此時(shí)又是相對(duì)什么路徑來(lái)計(jì)算的呢?
另外一個(gè)問(wèn)題,
import osassert os.path.isdir(’,’)
這個(gè)沒(méi)問(wèn)題。但有些程序庫(kù),比如PIL
import PILPIL.Image(...) # 就會(huì)報(bào)錯(cuò),找不到Image,需要顯式的import PIL.ImagePIL.Image(...) # OK
這又是為什么呢?先謝謝了哈。
問(wèn)題解答
回答1:.(dot) 是以你當(dāng)前運(yùn)行文件路徑為當(dāng)前路徑
發(fā)布后被其他用戶(hù)引用, 在你Python安裝目錄下有一個(gè)Lib目錄, 直接像import os這樣的是引用該目錄下全局的模塊
import osos.path...
可以運(yùn)行是因?yàn)閛s是一個(gè)模塊, 也是一個(gè)可運(yùn)行的python文件
而PIL那個(gè)例子,因?yàn)闆](méi)有我沒(méi)有PIL,我只能不負(fù)責(zé)任的猜測(cè)PIL不是一個(gè)模塊
相關(guān)文章:
1. html5和Flash對(duì)抗是什么情況?2. html5 - datatables 加載不出來(lái)數(shù)據(jù)。3. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????4. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!5. node.js - mongodb查找子對(duì)象的名稱(chēng)為某個(gè)值的對(duì)象的方法6. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?7. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]8. javascript - QQ第三方登錄的問(wèn)題9. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。10. spring-mvc - spring-session-redis HttpSessionListener失效

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