在cmd2内捕获功能结果

时间:2018-09-05 16:50:22

标签: python cmd2

这是使用Python cmd2库的简单脚本。

import cmd2
class App(cmd2.Cmd):

  result = 0

# long computation
  def do_add3(self, arg):
    r = 3 + int(arg)
    print(r)
    self.result = r

# scripting     
  def do_test(self, arg):
      self.do_add3("4")
      self.do_add3("2")
      self.do_add3("1")
      print(self.result)


if __name__ == '__main__':
  app = App()
  app.cmdloop()

gist link

do_add3函数的结果被保存(返回)到self.result中。后来do_add3在内部用self.do_add3("4")调用。

是否有更好的方法从do_函数返回结果,因此我可以像这样

self.do_add("4") + self.do_add("3") + self.do_add("2")

P.S。 例如,我不能在return函数内使用do_返回值。有更好的方法吗?

0 个答案:

没有答案