2015-07-01 13 views
-2

我正在研究一個基於Cmd Python模塊的小型命令行應用程序。我看不到如何在控制檯提示符中顯示最後一個命令,以便它可以由用戶編輯並重新提交。Python Cmd:如何編輯最後的命令

問題不在於如何存儲最後一條命令。這是關於如何在提示中顯示它並允許用戶編輯它

+0

我想你沒有得到這個問題,請看Cmd模塊 – Sindico

+1

'cmd'模塊不支持這樣的東西。你將不得不爲此構建你自己的控制檯解釋器,或者使用類似ncurses的東西。 – poke

+1

爲什麼大家都投這個問題這麼多,我認爲這是一個好問題? – maxymoo

回答

1

From the docs for cmdCmd有一個參數:

Cmd.use_rawinput一個標誌,默認設置爲true。如果爲true,則cmdloop()使用 raw_input()顯示提示並讀取下一個命令;如果爲false,則使用 sys.stdout.write()和sys.stdin.readline()。 (這意味着 通過導入的ReadLine,在支持它的系統,解釋 將自動支持類Emacs行編輯和命令歷史 按鍵。)

也就是說,你可以使用向上箭頭將最後一條命令:

>>> import cmd 
>>> C = cmd.Cmd() 
>>> C.cmdloop() 
(Cmd) command1 
*** Unknown syntax: command1 
(Cmd) command1 

在上面的最後一行中,我按下了向上的箭頭,它記住了我的最後一條命令。