在每个cmdloop迭代结束时调用一个函数(cmd模块)

时间:2017-03-16 20:59:55

标签: python cmd

我使用cmd模块构建一个小命令行应用程序,我试图在每个cmd循环结束时调用一个函数。

我发现这样做的唯一方法是覆盖cmdloop并在其中添加我的函数调用。 难道没有更简单/更清洁的方法吗?

1 个答案:

答案 0 :(得分:1)

实施the postcmd method

  

Cmd.postcmd(停止,排行)

     

在命令调度完成后执行Hook方法。这个方法是Cmd中的存根;它存在被子类覆盖。 line是执行的命令行,stop是一个标志,指示在调用postcmd()之后是否终止执行;这将是onecmd()方法的返回值。此方法的返回值将用作对应于stop的内部标志的新值;返回false将导致解释继续。

在执行每个cmd后,将在您的对象上调用该方法(从cmd.Cmd继承)。只要从此方法返回False,执行就会继续。