【发布时间】:2021-10-07 22:36:43
【问题描述】:
我正在尝试从 py 脚本调用 Myfunction,这发生在 Class 中。但我收到一条错误消息,提示 Myfunction 未定义。我该如何避免这种情况?我知道我可以将file_that_contains_Myfunction_versionA(B).py 中的所有内容放入一个类并在main() 中调用它。但是还有其他方法吗?
这里的诀窍是函数的名称是相同的,我不能从一开始就导入脚本,因为我不知道条件,直到我运行Myclass()。
class Myclass():
def __init__(self):
self.main()
def main(self):
if conditionA:
exec(open("./file_that_contains_Myfunction_versionA.py").read())
Myfunction()
if conditionB:
exec(open("./file_that_contains_Myfunction_versionB.py").read())
Myfunction()
【问题讨论】:
-
exec不会修改本地范围。你为什么一开始就这样?只需导入它 -
@juanpa.arrivillaga 是的,这是一个简化的代码。我对其进行了一些编辑以揭示我的真实情况......
-
再一次,你应该只导入它
标签: python function class exec