如何为Python终端提供持久性历史记录
问题
有没有办法告诉交互式Pythonshell在会话之间保留其执行命令的历史记录?
当会话正在运行时,在执行命令之后,我可以向上箭头并访问所述命令,我只是想知道是否有某种方法可以保存这些命令,直到下次我使用Pythonshell时。
这非常有用,因为我发现自己在会话中重用命令,这是我在上一个会话结束时使用的。
解决方案
当然你可以用一个小的启动脚本。来自python教程中的交互式输入编辑和历史替换:
#Addauto-completionandastoredhistoryfileofcommandstoyourPython #interactiveinterpreter.RequiresPython2.0+,readline.Autocompleteis #boundtotheEsckeybydefault(youcanchangeit-seereadlinedocs). # #Storethefilein~/.pystartup,andsetanenvironmentvariabletopoint #toit:"exportPYTHONSTARTUP=~/.pystartup"inbash. importatexit importos importreadline importrlcompleter historyPath=os.path.expanduser("~/.pyhistory") defsave_history(historyPath=historyPath): importreadline readline.write_history_file(historyPath) ifos.path.exists(historyPath): readline.read_history_file(historyPath) atexit.register(save_history) delos,atexit,readline,rlcompleter,save_history,historyPath
从Python3.4开始,交互式解释器支持开箱即用的自动完成和历史记录:
现在,在支持的系统上的交互式解释器中默认启用Tab-completionreadline。默认情况下也会启用历史记录,并将其写入(并从中读取)文件~/.python-history。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。