Как сохранить файл в Юлии - PullRequest
0 голосов
/ 14 октября 2019

В какой-то момент (я думаю, что Julia v0.7) вы могли бы сделать @save savepath thingtosave, чтобы сохранить файлы, используя Julia. Я попытался запустить это на v0.7, чтобы увидеть, получило ли я предупреждение об устаревании, но даже на 0.7 это говорит, что @save не определено.

Как программно сохранить файлы с помощью Julia?

Ответы [ 2 ]

2 голосов
/ 14 октября 2019

Поскольку вы упомянули @save, предположительно, вы использовали JLD.jl или его преемника JLD2.jl .

Простой пример использования JLD2be

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 ). Они в значительной степени позволяют вам хранить произвольные объекты Джулии. HDF5 (не обязательно JLD / JLD2) - это формат файла, который поддерживается почти всеми языками программирования и многими программами (например, Mathematica). Он подходит для длительного хранения в отличие от read / write, который может измениться в будущих версиях Julia.

Обратите внимание, что в версии 0.7 это не отображается, поскольку это пакетная функция, а нечасть базы (или стандартная библиотека).

0 голосов
/ 14 октября 2019

В julia docs есть функция write :

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")
...