Python的cmd
模塊是一個基于類的模塊,用于創建交互式命令行解析器。下面是使用cmd
模塊的基本步驟:
導入cmd
模塊:import cmd
創建一個繼承自cmd.Cmd
的子類,并重寫該子類的方法。
以下是一個簡單的示例:
import cmd
class MyCmd(cmd.Cmd):
prompt = '>> ' # 設置命令行提示符
def do_hello(self, arg):
"""
hello命令示例
"""
print('Hello, world!')
def do_quit(self, arg):
"""
退出命令行解析器
"""
return True
if __name__ == '__main__':
my_cmd = MyCmd()
my_cmd.cmdloop() # 啟動命令行解析器
在上面的示例中,我們創建了一個名為MyCmd
的子類,繼承自cmd.Cmd
。我們重寫了do_hello
和do_quit
方法來定義自己的命令。prompt
屬性用于設置命令行提示符。
在MyCmd
類的__main__
部分,我們創建了一個MyCmd
實例并調用cmdloop()
方法來啟動命令行解析器。
運行上述示例代碼后,你將看到一個命令行提示符(>>
),你可以輸入hello
來執行do_hello
方法,輸入quit
來退出解析器。
除了上面示例中的do_
命令方法,還有其他一些方法可以重寫,例如:
precmd(self, line)
:在執行命令之前調用該方法,可以用于對輸入進行處理。
postcmd(self, stop, line)
:在執行命令之后調用該方法,可以用于對輸出進行處理。
emptyline(self)
:當輸入為空行時調用該方法,默認情況下,為空行時不執行任何操作。
default(self, line)
:當輸入的命令沒有匹配的方法時調用該方法,默認情況下,會打印Unknown command
。
有關更多方法和屬性的詳細信息,請參閱Python官方文檔中的cmd
模塊文檔。