猿问

可以在Python输入上显示编辑的默认值吗?

可以在Python输入上显示编辑的默认值吗?

python是否可以接受这样的输入:

文件夹名称:下载

但是,用户不是键入“下载”,而是将其作为初始值。如果用户想要将其编辑为“下载”,他只需要添加's'并按Enter键。

使用正常输入命令:

folder=input('Folder name: ')

我能得到的只是一个空白提示:

文件夹名称:

有没有一种简单的方法可以做到这一点,我错过了?


慕少森
浏览 2659回答 3
3回答

炎炎设计

标准库函数input()和raw_input()不具备此功能。如果您使用的是Linux,则可以使用该readline模块定义使用预填充值和高级线编辑的输入函数:import readlinedef rlinput(prompt, prefill=''):    readline.set_startup_hook(lambda: readline.insert_text(prefill))    try:       return input(prompt)  # or raw_input in Python 2    finally:       readline.set_startup_hook()

慕婉清6462132

这适用于Windows。import win32console _stdin = win32console.GetStdHandle(win32console.STD_INPUT_HANDLE)def input_def(prompt, default=''):     keys = []     for c in unicode(default):         evt = win32console.PyINPUT_RECORDType(win32console.KEY_EVENT)         evt.Char = c         evt.RepeatCount = 1         evt.KeyDown = True         keys.append(evt)     _stdin.WriteConsoleInput(keys)     return raw_input(prompt)if __name__ == '__main__':     name = input_def('Folder name: ')     print     print name
随时随地看视频慕课网APP

相关分类

Python
我要回答