在输入提示中启用箭头键导航
Enable arrow key navigation in input prompt
简单的输入循环
while True:
query = input('> ')
results = get_results(query)
print(results)
不允许我使用方向键
- 在输入的文本中向后移动光标以更改内容
- 按向上箭头获取过去输入的条目
- 按向下箭头向 (2) 的相反方向移动
相反,它只打印所有转义码:
> my query^[[C^[[D^[[D^[[D^[[A^[[A^[[A
如何让它表现得像 REPL 或 shell 提示?
使用 cmd
模块创建一个 cmd 解释器 class,如下所示。
import cmd
class CmdParse(cmd.Cmd):
prompt = '> '
commands = []
def do_list(self, line):
print(self.commands)
def default(self, line):
print(line[::])
# Write your code here by handling the input entered
self.commands.append(line)
def do_exit(self, line):
return True
if __name__ == '__main__':
CmdParse().cmdloop()
附上此程序在尝试以下几个命令时的输出:
mithilesh@mithilesh-desktop:~/playground/on_the_fly$ python cmds.py
> 123
123
> 456
456
> list
['123', '456']
> exit
mithilesh@mithilesh-desktop:~/playground/on_the_fly$
有关详细信息,请参阅 docs
简单的输入循环
while True:
query = input('> ')
results = get_results(query)
print(results)
不允许我使用方向键
- 在输入的文本中向后移动光标以更改内容
- 按向上箭头获取过去输入的条目
- 按向下箭头向 (2) 的相反方向移动
相反,它只打印所有转义码:
> my query^[[C^[[D^[[D^[[D^[[A^[[A^[[A
如何让它表现得像 REPL 或 shell 提示?
使用 cmd
模块创建一个 cmd 解释器 class,如下所示。
import cmd
class CmdParse(cmd.Cmd):
prompt = '> '
commands = []
def do_list(self, line):
print(self.commands)
def default(self, line):
print(line[::])
# Write your code here by handling the input entered
self.commands.append(line)
def do_exit(self, line):
return True
if __name__ == '__main__':
CmdParse().cmdloop()
附上此程序在尝试以下几个命令时的输出:
mithilesh@mithilesh-desktop:~/playground/on_the_fly$ python cmds.py
> 123
123
> 456
456
> list
['123', '456']
> exit
mithilesh@mithilesh-desktop:~/playground/on_the_fly$
有关详细信息,请参阅 docs