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

Python 在每次cmdloop迭代(cmd模块)结束时调用函数,python,cmd,Python,Cmd,我正在使用cmd模块构建一个小的命令行应用程序,并尝试在每个cmd循环结束时调用一个函数 我找到的唯一方法是重写cmdloop,并在其中添加我的函数调用。 有没有更简单/更干净的方法来实现这一点?实现: Cmd.postcmd(停止,线路) Hook方法在命令分派完成后立即执行。此方法是Cmd中的存根;它的存在是为了被子类覆盖。line是已执行的命令行,stop是一个标志,指示调用postmd()后是否终止执行;这将是onecmd()方法的返回值。此方法的返回值将用作与stop相对应的内部标志的

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

我找到的唯一方法是重写
cmdloop
,并在其中添加我的函数调用。 有没有更简单/更干净的方法来实现这一点?

实现:

Cmd.postcmd(停止,线路)

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

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