在茱莉亚,我想在文件中写入一个变量和他的类型以便稍后重用。就像这样:如何在julia中写入文件的数据类型
var = Float64(15)
stream = open("foo.dat", "w")
write(stream, typeof(var))
write(stream, var)
close(stream)
stream = open("foo.dat", "r")
typevar = read(stream, DataType)
var = read(stream, typevar)
close(stream)
第三行不起作用:
ERROR: LoadError: MethodError: `write` has no method matching write(::IOStream, ::Type{Float64})
Closest candidates are:
write(::IO, ::Any)
我怎样才能做到这一点?谢谢:)
你看过JLD包吗?您可以使用它来存储完整的Julia对象,其中将包括它们的类型。 –
另外,取决于你想要什么,甚至可能没有必要。例如,如果你只是有一个说'Float64'对象的数组,那么你可以使用'writedlm'将其写入一个.txt文件,然后'readdlm'来读取它。'readdlm'将会选择一个可选的参数指定读取数据时的类型。 –
谢谢迈克尔:)我看JLD和HDF5包。 writedlm写文本,但我会写二进制文件。 – pasto