设为首页 加入收藏

TOP

为Python终端提供持久性历史记录
2019-09-03 03:47:29 】 浏览:24
Tags:Python 终端 提供 持久性 历史 记录

有没有办法告诉交互式Python shell在会话之间保留其执行命令的历史记录?

当会话正在运行时,在执行命令之后,我可以向上箭头并访问所述命令,我只是想知道是否有某种方法可以保存这些命令,直到下次我使用Python shell时。

这非常有用,因为我发现自己在会话中重用命令,这是我在上一个会话结束时使用的。

 

解决方案


当然你可以用一个小的启动脚本。来自python教程中的交互式输入编辑和历史替换

# Add auto-completion and a stored history file of commands to your Python # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is # bound to the Esc key by default (you can change it - see readline docs). # # Store the file in ~/.pystartup, and set an environment variable to point # to it: "export PYTHONSTARTUP=~/.pystartup" in bash.  import atexit import os import readline import rlcompleter  historyPath = os.path.expanduser("~/.pyhistory")  def save_history(historyPath=historyPath): import readline readline.write_history_file(historyPath)  if os.path.exists(historyPath): readline.read_history_file(historyPath)  atexit.register(save_history) del os, atexit, readline, rlcompleter, save_history, historyPath 

从Python 3.4开始,交互式解释器支持开箱即用的自动完成和历史记录

现在,在支持的系统上的交互式解释器中默认启用Tab-completion readline默认情况下也会启用历史记录,并将其写入(并从中读取)文件~/.python-history

 


本文首发于Python黑洞网,博客园同步更新

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇mac环境下Python虚拟环境的安装和.. 下一篇使用scrapy框架爬取桌面背景图片

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目