关于在python中导入模块的困惑

时间:2013-02-12 17:16:38

标签: python import

我只读了两种在python中导入.py模块的方法。假设,我有这个目录结构:

/foo/bar/mymodule/a.py
/foo/bar/b.py

我在PYTHONPATH中有/foo/bar,并说我分别在a.py和def a123()::b.py中有def b123()

如果我明白我可以做..

from mymodule import a (suppose I have __init__.py in the directory)

from b import *

以致电a123()b123()

在Python中声明模块的这两种方式中的每一种的优缺点是什么?我应该何时使用其中一种而不是另一种?

谢谢和问候。

2 个答案:

答案 0 :(得分:0)

如果您将所有模块代码放在一个文件中,请将其放入顶级目录。如果您有多个文件,请创建一个包。

答案 1 :(得分:0)

此链接应该有所帮助。它讨论了不同的import语句的细微之处以及何时应该使用其中一个:

http://effbot.org/zone/import-confusion.htm