File io 朱莉娅:写入文件没有按预期工作
我试图在Julia(0.6.3)中写入一个文件,但遇到了一些问题 根据这一原则,以下各项应起作用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
> f = open("hello.txt","w")
> write(f,"Hello again.")
当Icat 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)