2013-02-10 127 views
1

我有一個python腳本,通過內置的input()函數從用戶處獲取信息。input()::使用退格鍵和箭頭鍵

我的問題是爲什麼退格鍵和箭頭鍵無法正常工作,以及如何修復它,使它們按預期運行。

我有這個問題的一個簡單的例子...

#!/usr/bin/env python3 
while 1: 
    x=input("enter integer: ") 
    y=int(x)*17 
    print(y) 

下面是使用它的一個例子。

./tester 
enter integer: 3 
51 
enter integer: 17 
289 
enter integer: 172^[[D^[[D^H 
Traceback (most recent call last): 
    File "./tester", line 4, in <module> 
    y=int(x)*17 
ValueError: invalid literal for int() with base 10: '172\x08' 

在試圖「1」用箭頭鍵和退格,以除去^ [[d^[[d 1 H上來代替刪除移動離開兩個空間以及去除「1」,並且值使程序崩潰。

我該如何解決這個問題,使所有的按鍵功能如預期?

回答

8

導入標準庫中的readline模塊。 它會自動包裝stdin。

+0

這樣做。謝謝。 – Peregrine 2013-02-10 09:48:12