6
我在Python中使用cmd
模塊來構建一個小小的交互式命令行程序。但是,從這個文檔:http://docs.python.org/2/library/cmd.html,不清楚什麼是以編程方式退出程序(即cmdloop)的乾淨方式。如何清理地退出cmd模塊的cmd循環
理想情況下,我想在提示符下發出一些命令exit
,那會退出程序。
我在Python中使用cmd
模塊來構建一個小小的交互式命令行程序。但是,從這個文檔:http://docs.python.org/2/library/cmd.html,不清楚什麼是以編程方式退出程序(即cmdloop)的乾淨方式。如何清理地退出cmd模塊的cmd循環
理想情況下,我想在提示符下發出一些命令exit
,那會退出程序。
你需要重寫postcmd
方法:
Cmd.postcmd(站,線)的指令調度完成後立即執行
掛鉤方法。這個 方法是Cmd中的一個存根;它存在被子類覆蓋。 line是已執行的命令行,stop是一個標誌,其中 指示在調用 postcmd()後是否終止執行。這將是onecmd()方法的返回值。該方法的返回值將被用作 內部標誌的新值,該內部標誌對應於停止;返回false將導致 解釋繼續。
而且從cmdloop
文檔:當POSTCMD()方法返回一個真 值
此方法將返回。 postcmd()的stop參數是 命令的相應do _ *()方法的返回值。
換句話說:
import cmd
class Test(cmd.Cmd):
# your stuff (do_XXX methods should return nothing or False)
def do_exit(self,*args):
return True
我不知道如果我可以做'高清do_exit(個體經營,線):返回TRUE',使發出命令'exit'會打出來的'cmdloop' 。 – 2013-03-21 02:58:59
是的,就是這樣。 – isedev 2013-03-21 09:46:41