如何在本地函数中使用导入模块中的函数?
How to use a function from imported module within a local function?
我有一个 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 ()
错误依旧。
您需要将 __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 *
我有一个 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 ()
错误依旧。
您需要将 __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 *