可以在Python输入上显示编辑的默认值吗?python是否可以接受这样的输入:文件夹名称:下载但是,用户不是键入“下载”,而是将其作为初始值。如果用户想要将其编辑为“下载”,他只需要添加's'并按Enter键。使用正常输入命令:folder=input('Folder name: ')我能得到的只是一个空白提示:文件夹名称:有没有一种简单的方法可以做到这一点,我错过了?
3 回答

炎炎设计
TA贡献1808条经验 获得超4个赞
标准库函数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
TA贡献1804条经验 获得超2个赞
这适用于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
添加回答
举报
0/150
提交
取消