Python不导入模块
这里有一个函数,用于在另一个进程中运行外部python脚本。m是多处理模块Python不导入模块,python,function,python-3.x,import,Python,Function,Python 3.x,Import,这里有一个函数,用于在另一个进程中运行外部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
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:未定义全局名称“Foo”
。有人能帮忙吗?哈,问题是python不知道您的exec
语句定义了Foo
,所以它会尝试将其作为全局变量进行查找。要提供线索,请尝试以下方法:
try:
Foo = None
exec("import Programs."+app+".main as Foo")
Foo.init()
顺便说一句,这里介绍了如何在不使用exec
的情况下完成所需的操作:
Foo = __import__("Programs."+app+".main")
我认为这不是一个坏问题,也不是一个过于本地化的问题。别那么高兴,伙计们!并解释感知到的问题,以便海报可以尝试解决它。