我想写入一个文件,然后在循环中多次追加它(在 Windows 机器上)。每次追加后,我想关闭连接,因为我希望该文件存入保管箱帐户,以便我可以在代码运行时在其他计算机上打开它,以检查日志文件的状态(注意,这个条件使得这个问题不同于SO上关于sink、writeLines、write、cat等提出的任何问题)。我试过了
#set up writing
logFile = file("log_file.txt")
write("This is a log file for ... ", file=logFile, append=FALSE)
for(i in 1:10){
write(i, file=logFile, append=TRUE)
}
我也尝试过sink(file=logFile,append=TRUE); print(i); sink()
;在循环中也cat
。这两种选择都不起作用。该文件仅显示 i=10,即循环的最后一次迭代。我注意到 write 文档中的以下句子。
“如果为 TRUE,则数据 x 将附加到连接中。”
上述是否意味着它不会附加到现有文件。
以下内容似乎适用于 cat,因为它不需要文件连接:
#set up writing
logFile = "log_file.txt"
cat("This is a log file for ... ", file=logFile, append=FALSE, sep = "\n")
for(i in 1:10){
cat(i, file=logFile, append=TRUE, sep = "\n")
}
输出看起来像这样,它确实附加了每个值:
This is a log file for ...
1
2
3
4
5
6
7
8
9
10
我认为这就是你想要的。如果您使用的是 Mac 或 Linux,您可以使用以下命令跟踪文件的进度:
tail -f log_file.txt
不过,我不确定这如何与 Dropbox 配合使用。您可以登录到运行代码的计算机(例如,在 Mac 或 Linux 上)吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)