11

我正在用 python 编写程序,用户将通过命令行使用程序。我正在使用 raw_input 从用户那里获取命令。我想在 bash 等中拥有“记忆”,所以,如果你在键盘上按下箭头(向上或向下),你会得到上一个/下一个命令。我知道一种方法(只需获取用户输入的每个字符并检查它),但也许你知道更好/更可爱的东西:-)

问候

4

2 回答 2

22

如果我了解您想要什么,您只需导入readline模块即可实现。这将修改 的行为raw_input(),使其在历史和行编辑方面更像 python 交互式 shell。

不过要小心,可以在没有的情况下构建 python,readline所以我建议在 try 块中导入它:

try:
    import readline
except:
    pass #readline not available
于 2013-03-14T17:28:49.257 回答
5

内置的readline 模块提供了这个功能。

于 2013-03-14T17:28:52.763 回答