我有一个python模块a.py
:
def fun ( c, d, e, f ):
print ( c + d + e + f )
在我的main.py
:
from a import *
def fun1 ():
c = 'hello '
d = 'how '
e = 'are '
f = 'you?'
fun (c, d, e, f)
fun1 ()
为什么我收到错误:
NameError: global name 'fun' is not defined
我也尝试过:
from a import *
def fun1 ():
global fun
c = 'hello '
d = 'how '
e = 'are '
f = 'you?'
fun (c, d, e, f)
fun1 ()
错误仍然存在。
答案 0 :(得分:0)
您需要将__init__.py添加到位于a.py所在的同一文件夹中。
如果你的main.py不在同一个文件夹中,你需要将a.py所在文件夹的目录附加到你的sys.path。
如果文件夹结构如下所示:
./a_folder/a.py
./a_floder/__init__.py
./main_folder/main.py
main.py中的代码应为:
import sys
sys.path.append('../a_floder/')
from a import *
如果文件夹结构如下所示:
./a.py
./__init__.py
./main.py
main.py中的代码应为:
from a import *