大家晚上好
我有那种奇怪的行为。任何帮助,将不胜感激。
这是一个来自名为 tankython 的模块的函数,它调用了一个来自名为 usual 的模块的函数。但是,Python 似乎拒绝识别该函数。这是代码
#tankython.py
from usual import *
from get_data import *
from settings import *
from actif_class import *
def tanking(list_spreads,settings):
#### Tanking ####
fenetre = settings.fenetre
list_spread_exit,list_spread_temp= [],[]
ii= 0
for spread in list_spreads :
avc = ii * 100/float(len(list_spreads))
print "Be patient. Tanking in progress..." , avc,"%"
info = tankython (list_spreads,fenetre,ii)
list_spread_temp.append(info)
ii = ii + 1
list_spread_exit = check_list(list_spread_temp)
return list_spread_exit
#usual.py
def check_list(list_entry):
i = 0
while i < len(list_entry):
if list_entry[i] == 0 :
list_entry.pop(i)
else :
i = i+ 1
return list_entry
这是我在要求 Py 从 usual.py 导入所有内容时发现的错误消息:
File "tankython.py", line 77, in tanking
list_spread_exit = check_list(list_spread_temp)
NameError: global name 'check_list' is not defined
最后一件事:最终,如果我将函数放在 tankython 模块中,那么 Py 会接受完成整个过程。但是我真的很想知道我在这里做错了什么。
大家好
最佳答案
尝试将文件 tankython.py 和 usual.py 放在同一文件夹 中并使用
from usual import check_list
代替
from usual import *
可能有帮助。 或者你可以试试:
import usual
然后修改代码如下:
usual.check_list()
和
from module import *
如果两个包具有相同的名称函数,这不是导入某些东西的好方法。
关于python - 来自未在 python 中导入的模块的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830767/