如何为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。

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

相关文章

  • python实现C4.5决策树算法

    python实现C4.5决策树算法

    这篇文章主要为大家详细介绍了python实现C4.5决策树算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python快速实现分列转到行的示例代码

    Python快速实现分列转到行的示例代码

    这篇文章主要为大家详细介绍了如何利用Python快速实现分列转到行的效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学一下
    2023-03-03
  • Python实现telnet服务器的方法

    Python实现telnet服务器的方法

    这篇文章主要介绍了Python实现telnet服务器的方法,涉及Python通过Telnet连接服务器的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python 利用百度API识别图片文字(多线程版)

    python 利用百度API识别图片文字(多线程版)

    这篇文章主要介绍了python 利用百度API识别图片文字(多线程版),帮助大家更好的利用python进行机器识别,感兴趣的朋友可以了解下
    2020-12-12
  • 基于python实现学生信息管理系统

    基于python实现学生信息管理系统

    这篇文章主要为大家详细介绍了基于python学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • python绘制简单折线图代码示例

    python绘制简单折线图代码示例

    这篇文章主要介绍了python绘制简单折线图代码示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 解读pandas.DataFrame.corrwith

    解读pandas.DataFrame.corrwith

    这篇文章主要介绍了解读pandas.DataFrame.corrwith,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • django通过ajax发起请求返回JSON格式数据的方法

    django通过ajax发起请求返回JSON格式数据的方法

    这篇文章主要介绍了django通过ajax发起请求返回JSON格式数据的方法,较为详细的分析了django处理ajax请求的技巧,需要的朋友可以参考下
    2015-06-06
  • python实现决策树分类

    python实现决策树分类

    这篇文章主要为大家详细介绍了python实现决策树分类的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 5行Python代码实现电脑永不息屏

    5行Python代码实现电脑永不息屏

    最近新来的小老弟问我,按照公司规定,电脑只有十分钟就锁屏,但是他不想让电脑在空闲十分钟后锁屏。本文为大家准备了电脑永不息屏的两种方法,感兴趣的可以了解一下
    2022-10-10

最新评论