R write(append = TRUE)覆盖文件内容

Joh*_*nck 8 file-io r append

这是我的R代码:

out = file('testfile')
write('hello', file=out, append=T)
write('world', file=out, append=T)
close(out)
Run Code Online (Sandbox Code Playgroud)

当我运行它(使用R 3.1.0)时,testfile然后包含:

world
Run Code Online (Sandbox Code Playgroud)

我期望:

hello
world
Run Code Online (Sandbox Code Playgroud)

如果我使用cat()而不是使用相同的行为write().为什么?如何附加到文件?

Joh*_*hnB 12

您必须打开文件进行编写:

out = file('testfile', 'w')
...
Run Code Online (Sandbox Code Playgroud)

当R打开(或不打开)时,连接会有点复杂,但是在help(?file)中对它进行了解释.

如果你没有通过'w',每次write调用都会打开并关闭文件,我想这会导致你观察到的奇怪行为.

如果要打开现有文件以进行追加,请使用

out = file('testfile', 'a')
Run Code Online (Sandbox Code Playgroud)