Python命令行参数如何与方法相关?

2024-09-28 22:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

Class too big and hard to add new features的每个人都对这个问题毫无头绪,这个问题以某种方式将命令行选项与方法连接起来,但我找不到与此相关的文档。它不是optparse,或者argparse,或者{}-这个问题暗示了方法和命令行选项之间的某种直接关系。我错过了什么?在


Tags: andto方法命令行文档addnew选项
2条回答

他们之间没有任何固定的联系。您链接到的问题似乎是一个程序,它可以执行几种不同的操作之一,命令行参数在它们之间切换。这些的事情碰巧是在程序中使用方法实现的。在

这个问题暗示了他们使用了argparse之类的东西来编写它们之间的粘合;但是方法的使用只是特定程序的实现细节。在

我只是像这样使用这个类,这似乎不是一个很好的主意,因为一旦你得到很多命令,它就很难维护了。在

class myprogram(object):
    def __init__(self)
        self.prepare()
    def prepare(self):
        # some initializations
        self.prepareCommands()
    def prepareCommands(self):
        self.initCommand(" updateDatabase", self.updateDatabase)
        self.initCommand(" getImages", self.getImages)
        # and so on
    def initCommand(self, cmd, func):
        options = sys.argv
        for option in options:
            if option.find(cmd)!=-1:
                return func()
    # my commands
    def updateDatabase(self):
        #...
    def getImages(self):
        #...
if __name__ == "__main__":
    p = myprogram()

编辑1: 这里是我刚刚实施的一种更干净的方法:

在我的程序.py公司名称:

^{pr2}$

在命令.py公司名称:

^{3}$

编辑2:我现在用一个更完整的例子Class too big and hard to add new features更新了我的问题

相关问题 更多 >