【问题标题】:module as no attribute - self.variable.function(self) [closed]模块没有属性 - self.variable.function(self) [关闭]
【发布时间】:2020-10-06 17:21:54
【问题描述】:

我有一个名为 pcb_files.py 的模块,它只有一些像这样的导入 -> 导入读取

然后我有另一个名为 Easy.py 的模块,它有一个类 (Mainwindow) 和一个方法/函数 (function_pcb1)

Class MainWindow(xxx,xxx)
    .....
    .....
    def func_pcb1(self):
        pcb_files.read.main(self)

现在,每当我在应用程序中按下按钮时,我都会运行“读取”内部的函数“main”。到目前为止一切顺利

我想要什么:

def func_pcb1(self):
    script=self.nome_do_script
    pcb_files.script.main(self)

就像你看到的那样,现在我有了这个:script=self.nome_do_script 其中“script”是一个字符串类型。

现在我只想更改一件事,代替“读取”,我想像在图像中那样放置“脚本”,但它给了我一个错误 -> AttributeError: module 'pcb_files' has no属性“脚本”

恢复,而不是调用“脚本”变量中的内容,而是调用名称脚本本身。

现在你问你为什么想要那个? -> 回答:我想在我的应用程序中调用并显示给用户不同的文件,这些文件会做不同的事情

【问题讨论】:

    标签: python python-3.x linux pyqt5


    【解决方案1】:

    something.other 是 Python 所说的属性访问,其中 "other" 是属性名称。如果要访问具有动态名称的属性,可以使用getattr

    def func_pcb1(self):
        script = self.nome_do_script
        getattr(pcb_files, script).main(self)
    

    从长远来看,您会想学习如何使用字典来处理这些事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-29
      • 2020-12-22
      • 2018-04-02
      • 2014-06-07
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多