从包中导入模块

时间:2012-08-08 18:17:05

标签: python

我正在尝试按照Modules Python Tutorial的说明从设置的软件包中导入模块。我的目录树是:

$ pwd
/home/me/lib/python/pygplib

$ ls *
__init__.py

atcf:
atcf.py  __init__.py

我可以导入pygplib,但pygplib.atcf似乎不存在:

In [1]: import pygplib

In [2]: dir(pygplib)
Out[2]: ['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']

我做错了什么?我的所有__init__.py个文件都是空白的。谢谢。

2 个答案:

答案 0 :(得分:3)

导入顶层软件包时,子模块无法导入,因此不会显示在dir中。相反,做

from pygplib import atcf

或者

from pygplib.atcf import atcf

答案 1 :(得分:3)

atcf未自动导入pygplib命名空间,但您可以通过添加

来安排此操作
import atcf
pygplib/__init__.py中的