为什么我不能用R的写功能附加

时间:2017-05-31 15:06:29

标签: r

赦免如果已经回答,我没有看到这样的事情。我想创建一个正在运行的日志,但我无法添加写入函数。这是一个示例:

fName <- "D:/Temp/foo.txt"
fCn <- file(fName)
write('test1', fCn, append = TRUE)
write('test2', fCn, append = TRUE)
close(fCn)

当我打开生成的文件时,我只看到最后一行。我也试过像这样打开和关闭文件:

fCn <- file(fName)
write('test1', fCn, append = TRUE)
close(fCn)

fCn <- file(fName)
write('test2', fCn, append = TRUE)
close(fCn)

似乎应该很容易。我哪里错了? TIA

2 个答案:

答案 0 :(得分:2)

追加模式打开连接:

> fCn <- file(fName,open="a")

完整示例:

> fName="out1.txt"
> fCn <- file(fName,open="a")
> write('test1', fCn, append = TRUE)
> write('test2', fCn, append = TRUE)
> close(fCn)

写入文件的两个字符串的结果。

或者,您只需使用append=TRUE写入 name (不是连接对象)文件:

> write('test1', "out2.txt", append = TRUE)
> write('test2', "out2.txt", append = TRUE)

还会产生一个从头开始创建的双行输出文件。

答案 1 :(得分:1)

您可以将sink用于此目的。将您在R控制台中实际看到的内容写入文本文件总是更容易,因此您可以确定输出。

sink("C:/Users/mahdisoltanim/Desktop/a.txt", append= TRUE)
cat("\n")
cat("test1")
cat("\n")
cat("test2")
sink()