你如何看待交互式Python中的整个命令历史?

我正在使用Mac OS X上的默认python解释器,而我Cmd + K(清除)了我以前的命令。 我可以使用箭头键逐个浏览它们。 但有没有类似于bash shell中的–history选项的选项,它显示了你迄今为止input的所有命令?

使用readline.get_current_history_length()获取长度,使用readline.get_current_history_length()查看每个长度。

打印整个历史的代码(仅供将来参考):

 import readline for i in range(readline.get_current_history_length()): print readline.get_history_item(i + 1) 

编辑:注意get_history_item()被索引从1到n。

用python 3解释器写入历史
~/.python_history

由于上述只适用于python 2.x for python 3.x(特别是3.5)是相似的,但稍作修改:

 import readline for i in range(readline.get_current_history_length()): print (readline.get_history_item(i + 1)) 

注意extra()

(使用shell脚本来parsing.python_history或使用python来修改上面的代码是个人品味和情况imho的问题)

这应该给你打印出来的命令在不同的行:

导入readline; map(lambda p:print(readline.get_history_item(p)),map(lambda p:p,range(readline.get_current_history_length())))