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

标签 python function module call

大家晚上好

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

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

相关文章:

c++ - 在 C++ 的非模板类中有一个成员模板函数好吗?

javascript - 为什么这个 JavaScript 代码的结果是 "undefined"?

python - 可以从导入的模块访问 __name__ 属性吗

JavaScript 正在让 Python 的 Selenium 陷入困境

jquery - 如何使用 jquery 和 django 将变量传递到前面来创建 token ?

python - 谁能告诉我为什么我收到错误 [AttributeError : 'list' object has no attribute 'encode' ]

python - 使用 3 个或更多参数输入字段调用函数 - function()()()

Python:numpy.matrix.resize 移动元素

macos - 如何在 macos 上安装 perl 模块?

linux - 如何获取将接收我在 netfilter LOCAL_IN Hook 中获得的数据包的进程的 pid?