【发布时间】:2013-01-28 03:36:39
【问题描述】:
所以我想从一个 python 包中导入一个模块,该包是主脚本所在的子目录。这是目录结构:
maindir \
- main.py
- modules \
- __init__.py
- module.py
我觉得奇怪的是我不能用简单的import modules.module 导入module.py,因为当我尝试在main.py 中调用函数module.foo() 时,它会返回NameError: name 'module' is not defined。但是,当我执行import modules.module as module 时,一切正常,from modules import module 也是如此。而当module.py和main.py在同一目录下时,一个简单的import module就完全可以调用module.foo()了。
现在的问题是,为什么会这样?为什么一个简单的import 语句不足以从包而不是脚本所在的目录中导入模块?还是我做错了什么?非常感谢您的回答,因为我现在很困惑...
【问题讨论】:
标签: python