带历史记录的Python命令行
我正在用Python写一个程序,用户需要通过命令行来操作这个程序。我使用raw_input来获取用户输入的命令。我想要实现一个类似于bash的“记忆”功能,也就是说,当你在键盘上按上下箭头时,可以看到之前或下一个输入的命令。我知道一种方法是简单地获取用户输入的每个字符并进行检查,但也许你知道更好或更简单的方法:-)
问候
2 个回答
6
内置的 readline模块 提供了这个功能。
26
如果我理解你的意思,你可以通过导入 readline
模块来简单实现你想要的功能。这样一来,raw_input()
的行为就会更像 Python 的交互式命令行,支持历史记录和行编辑。
不过要小心,有可能在构建 Python 时没有包含 readline
,所以我建议你在一个尝试块(try block)里面导入它:
try:
import readline
except:
pass #readline not available