我在读取 JLD 文件时遇到了这个问题。我已成功创建文件,如下所示:
using JLD, HDF5
for i in 1:10
file = jldopen("/MY PATH/mydata.jld", "w")
write(file, "A", vector[i] for i in 10 )
close(file)
end
但是当我使用以下说明读取文件时:
file = jldopen("/My PATH/my_tree/mydata.jld", "r")
对于第一条指令,它执行正确,但是当我执行以下命令时:
read(file, "A")
我收到此错误:
WARNING: type Base.Generator{Core.Int64,##1#2} not present in workspace; reconstructing
ERROR: MethodError: no method matching julia_type(::Void)
in _julia_type(::ASCIIString) at /root/.julia/v0.5/JLD/src/JLD.jl:966
in julia_type(::ASCIIString) at /root/.julia/v0.5/JLD/src/JLD.jl:32
in jldatatype(::JLD.JldFile, ::HDF5.HDF5Datatype) at /root/.julia/v0.5/JLD/src/jld_types.jl:672
in reconstruct_type(::JLD.JldFile, ::HDF5.HDF5Datatype, ::ASCIIString) at /root/.julia/v0.5/JLD/src/jld_types.jl:737
in jldatatype(::JLD.JldFile, ::HDF5.HDF5Datatype) at /root/.julia/v0.5/JLD/src/jld_types.jl:675
in read(::JLD.JldDataset) at /root/.julia/v0.5/JLD/src/JLD.jl:381
in read(::JLD.JldFile, ::ASCIIString) at /root/.julia/v0.5/JLD/src/JLD.jl:357
in eval(::Module, ::Any) at ./boot.jl:237
最佳答案
vector[i] for i in 10
创建一个生成器,JLD 很乐意将其写入文件。您可能需要一个数组,因此将该表达式包装在collect
中。
关于file - 读取JLD文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262797/