Python3 - 如何在输入中添加用于编辑的名称?

时间:2016-02-18 16:52:28

标签: python python-3.x

如何在输入中添加名称进行编辑?

新名称

name = input("New your name : ")
print(name)
New your name : 

如何添加名称进行编辑? (编辑名称Charles)

类似

edit = "Charles"
name = input("Edit your name : " + edit)
print(name)
Edit your name : Charles

谢谢你的帮助..

3 个答案:

答案 0 :(得分:3)

如果您的Python是使用readline支持编译的,那么您实际上只能使用标准库来执行此操作:

import readline

def make_pre_input_hook(default):

    def pre_input_hook():
        readline.insert_text(default)
        readline.redisplay()

    return pre_input_hook

readline.set_pre_input_hook(make_pre_input_hook('Charles'))

name = input('Edit your name: ')

print('You are now called {}.'.format(name))

请注意,使用Python 2,您需要使用raw_input代替input

答案 1 :(得分:2)

我认为只有命令行才能做到这一点。相反,我建议在括号中提供一些默认值,并在用户不输入任何输入时使用它。这也是更常见的,并且如果他想要更改默认值(无需删除),则需要用户更少的击键。

>>> name = input("Enter name (some default): ") or "some default"
Enter name (some default): 
>>> name
'some default'
>>> name = input("Enter name (some default): ") or "some default"
Enter name (some default): foobar
>>> name
'foobar'

这里,or "some default"的效果是,如果表达式的第一部分 - input的结果 - 为空,则使用第二部分,即默认值。

答案 2 :(得分:0)

怎么样:

defaultname = 'Charles'
nameprompt = 'Enter your name, or just press Return to accept the default name.\nDefault Name: '+defaultname
name = input(nameprompt)
if name == '':
    name = defaultname