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

Saving a new variable to a .jld (or hdf5) file while preserving contents

有没有比将变量全部读入然后用额外变量重写更聪明的方法来向 .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

您应该使用模式 r+ 而不是 w

打开文件
jldopen(filename, "r+") do file
    write(file, "additional_variable", add_var)
end