1

这是我遇到的一个非常基本的问题。我有一个 python 程序,当我raw_input用来获取用户输入时,每当我尝试删除用户已经输入的内容时,都会出现这个符号:^H,而不是允许我删除我已经输入的内容。如何允许用户删除他们之前输入的内容?

4

2 回答 2

5

如果您导入readline模块,raw_input()应该不加修改地使用它,您将获得更好的控制序列支持。

更多信息:http ://docs.python.org/2/library/readline.html

于 2013-08-15T17:33:35.957 回答
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

'测试'

于 2013-08-15T18:01:14.927 回答