在保留内容的同时将新变量保存到.jld(或hdf5)文件

Ale*_*ley 3 file-io hdf5 julia

.jld除了将其全部读取然后用额外的变量重写之外,还有一种更聪明的方法将变量添加到文件中吗?我认为使用hdf5可以实现,但我可以找到它是否已在JLD包中实现。

这就是我目前的做法。

using JLD
if isfile(filename)
    a = load(filename) #load all vars
    jldopen(filename, "w") do file
        for (k,v) in a #rewrite original vars
            write(file, k, v)
        end
        write(file, "additional_variable", add_var) #write new var
    end
end
Run Code Online (Sandbox Code Playgroud)

spe*_*on2 5

您应该使用模式r+而不是模式打开文件w

jldopen(filename, "r+") do file
    write(file, "additional_variable", add_var)
end
Run Code Online (Sandbox Code Playgroud)