我遵循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。 有人遇到过这个问题吗?
答案 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!
我们必须更新指南。