gpt4 book ai didi

python - 来自未在 python 中导入的模块的函数

转载 作者:行者123 更新时间:2023-12-05 05:26:08 25 4
gpt4 key购买 nike

大家晚上好

我有那种奇怪的行为。任何帮助,将不胜感激。

这是一个来自名为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com