python中带历史记录的命令行
我正在用python编写程序,其中用户通过命令行处理程序。我使用原始输入从用户处获取命令。我想要像bash中那样的“内存”,所以,如果你按下键盘上的箭头(向上或向下),你就会得到上一个/下一个命令。我知道一种方法(简单地让用户键入每个字符并检查),但也许你知道一些更好/更可爱的方法:-)python中带历史记录的命令行,python,command-line,Python,Command Line,我正在用python编写程序,其中用户通过命令行处理程序。我使用原始输入从用户处获取命令。我想要像bash中那样的“内存”,所以,如果你按下键盘上的箭头(向上或向下),你就会得到上一个/下一个命令。我知道一种方法(简单地让用户键入每个字符并检查),但也许你知道一些更好/更可爱的方法:-) 问候语如果我了解您想要什么,您只需导入读线模块即可实现。这将修改raw\u input()的行为,使其在历史记录和行编辑方面更像python交互式shell 但是要小心,在不使用readline的情况下构建py
问候语如果我了解您想要什么,您只需导入
读线
模块即可实现。这将修改raw\u input()
的行为,使其在历史记录和行编辑方面更像python交互式shell
但是要小心,在不使用readline
的情况下构建python是可能的,因此我建议在try块中导入它:
try:
import readline
except:
pass #readline not available
内置提供此功能。为什么不将用户的所有输入放在列表中并跟踪命令索引?比如,如果他们按下向上箭头,它会减少命令索引(因此我们抓取上一个命令),向下会增加命令索引。