2011-05-17 40 views
2

我有一個腳本從Web服務器中獲取文本。我想讓用戶(我)有機會編輯該文本,以便他們可以選擇要保留的部分。理想的情況下,這將是這樣的:Python:通過讓用戶編輯默認值來獲取用戶輸入

editedText= raw_input(defaultText) 

所以,defaultText打印,用戶編輯它並按下回車鍵,因爲他們已經編輯的文本被分配到editedText

有沒有辦法做到這一點?
謝謝!

+1

這個問題的重複:http://stackoverflow.com/questions/2533120/顯示默認值爲編輯python輸入可能 – 2011-05-17 16:25:24

回答

4

是的,有一種方法。使用readline

import readline 

defaultText = 'I am the default value' 
readline.set_startup_hook(lambda: readline.insert_text(defaultText)) 
res = raw_input('Edit this:') 
print res 

注意,這不是一個十分便攜的解決方案,而我只測試了它在Linux :)

+0

看起來不錯;我一回到家就會測試一下。不過,我很好奇,是否有辦法通過標準庫(或者至少有更多的跨平臺軟件包)來解決這個問題。謝謝! – Nathan 2011-05-17 16:26:14

+0

也適用於windows。 – Marco 2011-05-17 16:27:43

+0

@Marco真的嗎?鏈接文檔的第一行:'Platforms:Unix'。 – Nathan 2011-05-17 16:29:40