在python -v
执行的shell中,我输入了from gi.repository import Peas
,它给了我模块的目录:
/usr/lib/python2.7/dist-packages/gi/repository
现在我进入了这个目录,期望找到子目标,例如Peas
,RB
,Gtk
(我可以导入)等,但其实际内容是
/usr/lib/python2.7/dist-packages/gi/repository$ ls
__init__.py __init__.pyc
就是这样。当Python只有__init__.py
文件时,如何从该模块导入Peas?如何查看Peas
模块中的代码?
显然我并不是很了解这一切。有什么解释?
编辑:好的,这与我之前的问题非常相关: Strange module auto complete behavior in IPython因此gi.repository是在导入时生成的,因为它是动态绑定。有道理。
但是,如果我从gi.repository
导入Peas,仍然应该有办法检查正在导入的代码是什么?因为我想使用PeasActivable接口。
答案 0 :(得分:0)
由于repository
目录包含__init__.py
个文件,gi.repository
为package。这意味着您可以从中导入,“root”包将是__init__
文件。如果您在同一目录中有一个名为module.py
的文件,您也可以从gi.repository.module
导入。
因此,您的姓名Peas
,RB
和Gtk
应全部在__init__.py
文件中定义。