朱莉娅:写入文件无法正常工作

时间:2018-07-07 13:19:46

标签: file-io julia

我正在尝试用Julia(0.6.3)写入文件,但是遇到了一些问题。

根据documentation,以下方法应该起作用。

> f = open("hello.txt","w")
> write(f,"Hello again.")

当我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,则将类型对象作为do的一部分给出。

这里的意义是,显然要向文件中写入APPEND,而不是覆盖它,您需要使用open("file", "a")。我可以使用do,但是,由于我正在学习Julia,所以我想知道为什么某些事情会失败,所以我可以从失败中学习。如果我做错了事,我需要知道那是什么供将来参考。如果我没有做错任何事情,那么我需要提交一个错误报告。

1 个答案:

答案 0 :(得分:2)

就在文档下面:

  

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

julia> close(f)

或者如@BogumiłKamiński在评论中所写,如果要刷新数据而不关闭文件处理程序,请使用功能flush/1

julia> flush(f)