如何為Python終端提供持久性歷史記錄
問題
有沒有辦法告訴交互式Python shell在會話之間保留其執(zhí)行命令的歷史記錄?
當(dāng)會話正在運(yùn)行時,在執(zhí)行命令之后,我可以向上箭頭并訪問所述命令,我只是想知道是否有某種方法可以保存這些命令,直到下次我使用Python shell時。
這非常有用,因?yàn)槲野l(fā)現(xiàn)自己在會話中重用命令,這是我在上一個會話結(jié)束時使用的。
解決方案
當(dāng)然你可以用一個小的啟動腳本。來自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開始,交互式解釋器支持開箱即用的自動完成和歷史記錄:
現(xiàn)在,在支持的系統(tǒng)上的交互式解釋器中默認(rèn)啟用Tab-completion readline。默認(rèn)情況下也會啟用歷史記錄,并將其寫入(并從中讀取)文件~/.python-history。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用python循環(huán)創(chuàng)建多個文件的方法
今天小編就為大家分享一篇利用python循環(huán)創(chuàng)建多個文件的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
深入理解Python密碼學(xué)之使用PyCrypto庫進(jìn)行加密和解密
Python中的Pycrypto庫是一個廣泛使用的密碼學(xué)工具包,它為開發(fā)者提供了多種加密算法,包括著名的RSA加密算法,這篇文章主要給大家介紹了關(guān)于Python密碼學(xué)之使用PyCrypto庫進(jìn)行加密和解密的相關(guān)資料,需要的朋友可以參考下2024-07-07
python將excel轉(zhuǎn)換為csv的代碼方法總結(jié)
在本篇文章里小編給大家分享了關(guān)于python如何將excel轉(zhuǎn)換為csv的實(shí)例方法和代碼內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-07-07
Python中torch.load()加載模型以及其map_location參數(shù)詳解
torch.load()作用用來加載torch.save()保存的模型文件,下面這篇文章主要給大家介紹了關(guān)于Python中torch.load()加載模型以及其map_location參數(shù)的相關(guān)資料,需要的朋友可以參考下2022-09-09
基于python對B站收藏夾按照視頻發(fā)布時間進(jìn)行排序的問題
這篇文章主要介紹了基于python對B站收藏夾按照視頻發(fā)布時間進(jìn)行排序,在實(shí)現(xiàn)過程中中間程序可能因?yàn)楦鞣N原因掛掉,因此在中間加入了儲存中間狀態(tài)的功能,否則每次掛掉都要重新爬速度非常慢,本文給大家介紹具體使用方法,一起看看吧2021-05-05
python使用gTTS實(shí)現(xiàn)文本轉(zhuǎn)語音功能
gTTS(Google?Text-to-Speech),?這個庫是Google的Text-to-Speech?API的一個接口,提供了一種簡單的方式來生成聽起來自然的語言,下面我們就來看看如何使用gTTS實(shí)現(xiàn)文本轉(zhuǎn)語音功能吧2024-03-03

