如何在Julia中保存文件

时间:2019-10-14 18:26:21

标签: julia

在某个时候,(我认为是Julia v0.7)您可以执行@save savepath thingtosave以便使用Julia来保存文件。我尝试在v0.7上运行此命令,以查看是否收到过时警告,但即使在0.7上,它也表明@save是未定义的。

如何使用Julia以编程方式保存文件?

2 个答案:

答案 0 :(得分:2)

自从您提到@save以来,大概是您在使用JLD.jl或其后续版本JLD2.jl

使用JLD2的简单示例是

julia> using JLD2

julia> @save "test.jld2" x

julia> x = nothing # "forgetting" x

julia> @load "test.jld2"
1-element Array{Symbol,1}:
 :x

julia> x
2×2 Array{Float64,2}:
 0.698264  0.319665
 0.252174  0.80799

write相比,这些软件包基于HDF5(通过HDF5.jl)。它们几乎允许您存储任意Julia对象。 HDF5(不一定是JLD / JLD2)是几乎所有编程语言和许多程序(例如Mathematica)都支持的文件格式。与read / write相比,它适合长期存储,在将来的Julia版本中可能会发生变化。

请注意,由于它是软件包功能,而不是Base(或stdlib)的一部分,因此不会在0.7中显示。

答案 1 :(得分:0)

From the julia docs, there is the write function

write(io::IO, x)
write(filename::AbstractString, x)

Write the canonical binary representation of a value to the given I/O stream or file. Return the number of bytes written into the stream. See also print to write a text representation (with an encoding that may depend upon io).

You can write multiple values with the same write call. i.e. the following are equivalent:

  write(io, x, y...)
  write(io, x) + write(io, y...)

编写文本文件:

write("text.txt","this is a test")