Python不导入模块

2024-09-30 08:14:44 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有一个函数,用于在另一个进程中运行外部python脚本。m是多处理模块

def run(app,WindowOffX,WindowOffY,WindowWidth,WindowHeight):
    try:
        exec("import Programs."+app+".main as Foo")
        Foo.init()
        p = m.Process(target=Foo.main(WindowOffX,WindowOffY,WindowWidth,WindowHeight))
    except ImportError:
        print("That app doesn't exist!!! O.O")

但这会产生NameError: global name 'Foo' is not defined。有人能帮忙吗?你知道吗


Tags: 模块函数run脚本appfoo进程main
1条回答
网友
1楼 · 发布于 2024-09-30 08:14:44

哈,问题是python不知道你的exec语句定义了Foo,所以它试图把它作为一个全局变量来查找。要提供线索,请尝试以下方法:

    try:
        Foo = None
        exec("import Programs."+app+".main as Foo")
        Foo.init()

顺便说一句,下面是不使用exec就可以完成所需任务的方法:

Foo = __import__("Programs."+app+".main")

相关问题 更多 >

    热门问题