在某个时候,(我认为是Julia v0.7)您可以执行@save savepath thingtosave
以便使用Julia来保存文件。我尝试在v0.7上运行此命令,以查看是否收到过时警告,但即使在0.7上,它也表明@save
是未定义的。
如何使用Julia以编程方式保存文件?
答案 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")