NameError:python中未定义的嵌套函数

时间:2019-03-22 15:55:57

标签: python

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

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>


void handler() {
    //i would like to print the value of i here.
}

int main() {
    int fd[2], s;
    pipe(fd);
    pid_t c = fork();

    if (c == 0) {
        signal(SIGINT, handler);
        pause();
        read(fd[0], &s, sizeof(s));
        //if use printf("%d",s) here s=2 correctly.
    }
    if (c > 0) {
        int i = 2;
        sleep(1);               //i don't want the SIGINT signal to terminate the child process so i wait for it to reach pause
        kill(c, SIGINT);
        write(fd[1], &i, sizeof(i));
    }
}

我遇到此错误:

  

NameError:未定义名称“ download_pkg”

如何访问此功能?谢谢

1 个答案:

答案 0 :(得分:4)

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

download_pkg(line)

收件人:

self.download_pkg(line)