搜索

首页  >  问答  >  正文

python - import里的dot是以哪个路径作为根目录的?

# in mylib.py file
from . import xml
from .xml import some_thing
from ..xml import some_thing
...

这类显式的相对引用,是用哪个路径作为根目录的呢? 特别的,当这上述程序本身也是一个程序库,发布后被其他用户

import mylib

那此时又是相对什么路径来计算的呢?

另外一个问题,

import os
assert os.path.isdir(',')

这个没问题。但有些程序库,比如PIL

import PIL
PIL.Image(...) # 就会报错,找不到Image,需要显式的
import PIL.Image
PIL.Image(...)  # OK

这又是为什么呢?先谢谢了哈。

学习ing学习ing2704 天前1033

全部回复(1)我来回复

  • 代言

    代言2017-07-05 10:36:06

    1. .(dot) 是以你当前运行文件路径为当前路径

    2. 发布后被其他用户引用, 在你Python安装目录下有一个Lib目录, 直接像import os这样的是引用该目录下全局的模块

    import os
    os.path...

    可以运行是因为os是一个模块, 也是一个可运行的python文件

    而PIL那个例子,因为没有我没有PIL,我只能不负责任的猜测PIL不是一个模块

    回复
    0
  • 取消回复