如何为Python终端提供持久性历史记录

 更新时间:2019年09月03日 14:38:38   作者:python之蝉   我要评论
这篇文章主要介绍了如何为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。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅谈django的render函数的参数问题

    浅谈django的render函数的参数问题

    今天小编就为大家分享一篇浅谈django的render函数的参数问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python3 socket同步通信简单示例

    Python3 socket同步通信简单示例

    这篇文章主要介绍了Python3 socket同步通信功能,结合简单实例形式分析了Python socket同步通信客户端与服务器端实现技巧,需要的朋友可以参考下
    2017-06-06
  • 详解Python中DOM方法的动态性

    详解Python中DOM方法的动态性

    这篇文章主要介绍了详解Python中DOM方法的动态性,xml.dom模块在Python的网络编程中相当有用,本文来自于IBM官网的开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • python基于Selenium的web自动化框架

    python基于Selenium的web自动化框架

    这篇文章主要介绍了python基于Selenium的web自动化框架,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python实现简单名片管理系统

    python实现简单名片管理系统

    这篇文章主要为大家详细介绍了python实现简单名片管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python语言快速上手学习方法

    Python语言快速上手学习方法

    今天小编就为大家分享一篇关于Python语言快速上手学习方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • python实现保存网页到本地示例

    python实现保存网页到本地示例

    这篇文章主要介绍了python实现保存网页到本地示例,需要的朋友可以参考下
    2014-03-03
  • python网页请求urllib2模块简单封装代码

    python网页请求urllib2模块简单封装代码

    这篇文章主要分享一个python网页请求模块urllib2模块的简单封装代码,有需要的朋友参考下
    2014-02-02
  • Python实现简单过滤文本段的方法

    Python实现简单过滤文本段的方法

    这篇文章主要介绍了Python实现简单过滤文本段的方法,涉及Python针对文本的读取及字符串遍历、判断、打印等相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • 对python实时得到鼠标位置的示例讲解

    对python实时得到鼠标位置的示例讲解

    今天小编就为大家分享一篇对python实时得到鼠标位置的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10

最新评论