2013-08-15 3 views
1

Это довольно простой вопрос, с которым я столкнулся. У меня есть программа python, и когда я использую raw_input, чтобы получить пользовательский ввод, всякий раз, когда я пытаюсь удалить что-то, что пользователь уже набирает, появляется этот символ: ^H, вместо того, чтобы разрешать мне удалять то, что я уже набрал. Как я могу разрешить пользователям удалять предыдущие вещи, которые они набрали?Позволяет пользователям удалять пользовательский ввод в python

+0

Как получить вход? Через терминал или другую программу? – smac89

ответ

5

Если вы импортируете модуль readline, raw_input() должен использовать его без дальнейших изменений, и вы получите лучшую поддержку последовательности контроля.

Подробнее: http://docs.python.org/2/library/readline.html

1

В случае, если вы вы хотите играть с модулем CMD. Как это:

import cmd 
import sys, string 
class CLI(cmd.Cmd): 
    def __init__(self): 
     cmd.Cmd.__init__(self) 
     self.prompt = '> ' 
     self.text='' 
    def do_input(self, arg): 
     self.text=arg 
     sys.exit(1) 

Попробуйте:

">>> Cli = CLI()

" >>> cli.cmdloop()

«> входной тест

«>>> cli.text

'тест'

Смежные вопросы