模块为无属性-self.variable.function(self)

柔软的

我有一个模块调用pcb_files.py,只有这样的导入-> import read

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

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

现在,每次我在应用程序中按下按钮时,我都会运行“读取”内部的功能“主”。到现在为止还挺好

我想要的是:

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

如您所见,现在我有了:script=self.nome_do_script其中“脚本”是字符串类型。

现在我只想更改一件事,代替“读取”,我想像在图像中一样放置“脚本”,但是它给我一个错误-> AttributeError:模块'pcb_files'没有属性'script '

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

现在,您在问为什么要这么做?->回答:我想在我的应用中调用并显示给用户不同的文件,这些文件将执行不同的操作

茉莉花

something.other是Python所谓的属性访问,"other"属性名称在哪里如果要使用动态名称访问属性,可以使用getattr

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

从长远来看,您将需要学习如何将字典用于这类事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章