从二进制文件读取数组:"read end of file"错误



我正在读/写一个数组到Julia中的文件。例如:

test_arr=zeros(3,3)
io = open("logs/test","w")
write(io,test_arr)
close(io)

要读取我做的文件:

load_arr=Array{Float64}(undef,3,3)
io = open("logs/test","w")
read!(io,load_arr)
close(io)

这给出了一个";读取文件末尾";错误

我有点困惑,因为这就是我如何在二进制文件中写入/读取其他数组的问题。但这次我犯了一个错误。

当再次打开IOStream时,我认为我们想要一个读取而不是另一个写入:

io = open("logs/test","r")

从上面的注释来看,为了完整性,只使用w打开文件会截断文件,因此尝试从中读取将导致EOF错误。关于不同模式的作用,可以在这里找到更多示例:https://docs.julialang.org/en/v1/base/io-network/#Base.open

相关内容

最新更新