我运行了这两个代码块,期望输出相同
cattest <- file("cattest.txt")
cat("First thing", file = cattest)
cat("Second thing", file = cattest, append = TRUE)
close(cattest)
sink("cattest_sink.txt")
cat("First thing")
cat("Second thing")
sink()
但结果cattest.txt
仅包含“第二件事”,而cattest_sink.txt
包含我所期望的,“第一件事”。为什么append
参数被文件连接忽略?
我在Windows上运行64位R 3.0.1,以防万一。
答案 0 :(得分:6)
因为?cat
如果file
不是文件的名称,它就会这样做。
追加:逻辑。仅在参数'file'是文件名时使用 (而不是连接或'“| cmd”')。如果'TRUE'输出将是 附加到'文件';否则,它将覆盖内容 'file'。
答案 1 :(得分:4)
使用cat
附加文字的一种方法是打开模式a
的文件连接。
cattest <- file("cattest.txt")
cat("First thing", file = cattest, fill = TRUE)
close(cattest)
cattest <- file("cattest.txt", open = "a")
cat("Second thing", file = cattest)
close(cattest)