【发布时间】:2016-05-19 09:32:33
【问题描述】:
我有主脚本文件,我们称之为 main.py,我有位于子目录“module/”中的模块文件,我们称之为 mod.py (module/mod.py)
目录树是这样的:
-main.py
-module/
|
|---mod.py
现在我在 main.py 中有一个全局变量,称之为“a”,它等于 1。 我在 mod.py 中有一个函数应该打印全局变量 a。
main.py:
import sys
sys.path.append("module/")
from mod import *
global a
a = 1
print_it()
模块/mod.py:
from main import *
def print_it():
global a
print a
当我启动 main.py 脚本时,我得到:
NameError: name 'print_it' 未定义
为什么?
【问题讨论】:
-
因为
module/文件夹中没有main.py文件 -
这行不通。在
main中导入mod,在mod中再次导入main。问题就在这里。mod未完全导入。而print_it直到没有被创建。 -
将
main.py:from mod import *中的这一行更改为import mod会发生什么? -
你用的是什么版本的python? 3.x 还是 2.x ?模块导入不是这些版本之间的名称
标签: python python-import python-module