首页 > 解决方案 > NameError:python中未定义的嵌套函数

问题描述

我是python初学者,我正在尝试重新组织我的代码,我有多个嵌套函数这是我的python代码

def download_pkg(self):
    (...)

def download_several_apps(self):
    global inputFileName_download,listbox_input

    if(listbox_input.size() == 0):
        print("NO INPUT FILE")
    elif(listbox_input.size() == 1):
        print("filename :" + str(self.inputFileName_download))

        with open(self.inputFileName_download, 'r') as f:
            for line in  f:
                print(line)
                download_pkg(line)
    else:
        print("Problem while downloading several apps")

我有这个错误:

NameError:名称“download_pkg”未定义

如何访问此功能?谢谢

标签: python

解决方案


您没有显示它,但您显然处于类的方法中,而不是顶级函数。因此,您需要在该类的现有实例上调用该方法。幸运的是,您自己就是一个实例方法,因此您self可以这样做。只是改变:

download_pkg(line)

至:

self.download_pkg(line)

推荐阅读