2016-07-08 14 views
2

Ich habe dieses Problem beim Lesen einer JLD-Datei festgestellt. Ich habe erfolgreich erstellt die Datei wie folgt:Lesen von JLD-Dateien

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 

aber wenn ich die Datei mithilfe der folgenden Anweisungen lesen:

file = jldopen("/My PATH/my_tree/mydata.jld", "r") 

Für diese erste Anweisung, es richtig ausgeführt wird, aber wenn ich folgendes ausführen:

read(file, "A") 

ich habe diesen Fehler:

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 
+0

Sie 0,5 verwenden, was ein Problem sein könnte, da es noch in der Entwicklung ist. – daycaster

Antwort

3

vector[i] for i in 10 erstellt einen Generator, die JLD glücklich in die Datei für Sie schreibt. Wahrscheinlich möchten Sie ein Array, also wrap diesen Ausdruck in collect.