python - import里的dot是以哪個(gè)路徑作為根目錄的?
問題描述
# in mylib.py filefrom . import xmlfrom .xml import some_thingfrom ..xml import some_thing...
這類顯式的相對(duì)引用,是用哪個(gè)路徑作為根目錄的呢? 特別的,當(dāng)這上述程序本身也是一個(gè)程序庫(kù),發(fā)布后被其他用戶
import mylib
那此時(shí)又是相對(duì)什么路徑來(lái)計(jì)算的呢?
另外一個(gè)問題,
import osassert os.path.isdir(’,’)
這個(gè)沒問題。但有些程序庫(kù),比如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. javascript - node.js promise沒用2. android 如何實(shí)現(xiàn)如圖中的鍵盤上的公式及edittext的內(nèi)容展示呢3. c++ - 如何正確的使用QWebEngineView?4. golang - 用IDE看docker源碼時(shí)的小問題5. javascript - js 寫一個(gè)正則 提取文本中的數(shù)據(jù)6. 算法 - python 給定一個(gè)正整數(shù)a和一個(gè)包含任意個(gè)正整數(shù)的 列表 b,求所有<=a 的加法組合7. yii2中restful配置好后在nginx下報(bào)404錯(cuò)誤8. java - 我在用Struts2上傳文件時(shí),報(bào)以下錯(cuò)誤怎么回事?9. PHP注冊(cè)功能10. php - 注冊(cè)驗(yàn)證郵箱失效后操作問題
