如何為Python終端提供永續性歷史記錄
阿新 • • 發佈:2020-01-09
問題
有沒有辦法告訴互動式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。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。