【问题标题】:Python - Cannot call a function from a py file within a class?Python - 无法从类中的 py 文件调用函数?
【发布时间】: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


【解决方案1】:

您是否将另一个脚本导入到调用它的脚本中?

from otherscript import function_A

function_A()

【讨论】:

    猜你喜欢
    • 2015-09-21
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 2023-03-12
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多