火警分组命令无法按预期工作

时间:2018-09-20 02:33:41

标签: python-3.x

我遵循The Python Fire Guide并执行“分组命令”中的脚本。 该程序如下所示:

import fire

class IngestionStage(object):
    def run(self):
        return 'Ingesting! Nom nom nom...'

class DigestionStage(object):
    def run(self, volume=1):
        return ' '.join(['Burp!'] * volume)

    def status(self):
        return 'Satiated.'

class Pipeline(object):
    def __init__(self):
        self.ingestion = IngestionStage()
        self.digestion = DigestionStage()

    def run(self):
        self.ingestion.run()
        self.digestion.run()

if __name__ == '__main__':
    fire.Fire(Pipeline)

但是,执行命令后什么也没发生:

$ python3 example.py run

我使用python 3.5.2在ubuntu 16.04上运行此程序。 消防包的版本是0.1.3。 有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

感谢您抓住这一点。 python3 example.py run不打印任何内容的原因是Pipeline.run不返回任何内容。

如果您将Pipeline.run方法更新为:

def run(self):
    return [
        self.ingestion.run(),
        self.digestion.run(),
    ]

然后您将看到所需的输出:

$ python example.py run
Ingesting! Nom nom nom...
Burp!

我们必须更新指南。