首页 > 解决方案 > 如何从正在运行的会话中恢复 Julia 历史文件?

问题描述

哈!我不小心删除了我的~/.julia/logs文件夹。

但好消息是我有几个正在运行的 julia 会话,这似乎对 julia REPL 历史有一些记忆。

有谁知道是否有办法以某种方式从正在运行的 julia 进程的状态中反向转储历史文件?提前谢谢了!

标签: juliaread-eval-print-loop

解决方案


这应该将其存储回一个文件,然后可以放入.julia/logs/repl_history.jl

function restore_repl_history()
    hist = Base.active_repl.interface.modes[1].hist
    open("restored_history.jl", "w") do io
        for (mode, cont) in zip(hist.modes, hist.history)
            println(io, "# time: $(Libc.strftime("%Y-%m-%d %H:%M:%S %Z", time()))")
            println(io, "# mode: $mode")
            s = join(split(cont, '\n'), "\n\t")
            println(io, "\t", s)
        end
    end
end

推荐阅读