1

我将 PyMOL 分子查看器用作更大程序的子集,为了便于阅读,我将我的文件分解成这样......

### command1ClassFile.py

class command1Class():
    def command1(self):
        print "do action 1, this requires pymol functions"

### command2ClassFile.py

class command2Class():
    def command2(self):
        print "do action 2, this also requires pymol functions"

### mainModule.py

import command1ClassFile, command2ClassFile

class commandsClass(command1Class, command2Class):
    pass


class guiClass(parentClass, commandsClass):
    def onLeftClick(self):
        self.command1()

    def onRightClick(self):
        self.command2()

# this imports the module as well as launching the program, unfortunately
import pymol
pymol.finish_launching()

我不能只在其他文件的开头添加“import pymol”,因为那样会多次启动程序。我可以只使用一个 .py 文件来解决这个问题,但这会导致源文件过大。

我没有发现任何人对 PyMOL 邮件列表感兴趣,所以我希望有其他方法可以解决这个问题。如果没有,有没有更好的方法来分解代码?我习惯了被 C++ 中的头文件宠坏了,而 Python 项目的架构对我来说有点难以正确处理。

编辑:对于不同的情况,以这种方式跨文件和虚拟编译类使用多重继承是用复杂方法构建 python 项目的好方法吗?

4

1 回答 1

1

如果我正确理解了这个问题,那if __name__ == '__main__'就是为了。

于 2013-03-04T21:53:07.493 回答