File io 朱莉娅:写入文件没有按预期工作

File io 朱莉娅:写入文件没有按预期工作,file-io,julia,File Io,Julia,我试图在Julia(0.6.3)中写入一个文件,但遇到了一些问题 根据这一原则,以下各项应起作用 > f = open("hello.txt","w") > write(f,"Hello again.") 当Icat hello.txt时,文件为空。这段代码直接取自文档。它应该能工作,但什么也不做 我确保chmod+rw的权限没有问题,但这并没有改变任何事情。但是,以下两种方法都能按预期工作 > write("hello.txt","Hello World") > o

我试图在Julia(0.6.3)中写入一个文件,但遇到了一些问题

根据这一原则,以下各项应起作用

> f = open("hello.txt","w")
> write(f,"Hello again.")
当I
cat hello.txt
时,文件为空。这段代码直接取自文档。它应该能工作,但什么也不做

我确保chmod+rw的权限没有问题,但这并没有改变任何事情。但是,以下两种方法都能按预期工作

> write("hello.txt","Hello World")

> open("/tmp/t.txt", "w") do f
    write(f, "A, B, C, D\n")
end
因此,当我直接指定文件时,我可以将其写入,或者如果IOStreat,则type对象作为
do
的一部分提供,它可以工作


这里的意义在于,显然要将写入附加到文件,而不是过度写入,您需要使用
open(“file”,“a”)
。我可以使用
do
,但是,因为我在学习Julia,我想知道为什么有些东西失败了,这样我就可以从失败中吸取教训。如果我做错了什么,我需要知道那是什么,以备将来参考。如果我没有做错什么,那么我需要提交一份bug报告。

就在下面的文档中:

如果此时检查hello.txt的内容,您将 请注意,它是空的;实际上没有任何内容写入磁盘 然而这是因为在写入之前必须关闭IOStream 实际刷新到磁盘:

或者,正如@BogumiłKamiński在评论中所写,如果您希望在不关闭文件处理程序的情况下刷新数据,请使用函数


在文档的下面:

如果此时检查hello.txt的内容,您将 请注意,它是空的;实际上没有任何内容写入磁盘 然而这是因为在写入之前必须关闭IOStream 实际刷新到磁盘:

或者,正如@BogumiłKamiński在评论中所写,如果您希望在不关闭文件处理程序的情况下刷新数据,请使用函数


或者,如果要保持文件打开,可以使用
flush(f)
强制写入流。如果要保持文件打开,可以使用
flush(f)
强制写入流。
julia> close(f)
julia> flush(f)