Ich möchte in eine Datei schreiben und dann mehrmals in einer Schleife (auf einer Windows-Maschine) anhängen. Nach jedem Anhängen möchte ich die Verbindung schließen, da Ich möchte, dass die Datei zu einem Dropbox-Konto sinkt, damit ich es auf anderen Computern öffnen kann, während der Code ausgeführt wird, um den Status der Protokolldatei zu überprüfen Bedingung macht diese Frage anders als alle Fragen, die über SO gestellt werden (Sink, WriteLines, Write, Cat, etc). Ich habe versucht,Wie an eine vorhandene Datei in R anhängen, ohne sie zu überschreiben?
#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)
}
ich auch sink(file=logFile,append=TRUE); print(i); sink()
versucht haben; in der Schleife und auch cat
. Keine der beiden Optionen funktioniert. Die Datei zeigt nur i = 10, die letzte Iteration der Schleife. Ich habe den folgenden Satz in der Dokumentation zum Schreiben bemerkt.
"Wenn TRUE, werden die Daten x an die Verbindung angehängt."
Bedeutet das Obige, dass es nicht an eine vorhandene Datei anhängen wird.
Dieser Code scheint an die Datei anzufügen, aber er sinkt nicht mit Dropbox, was bedeuten könnte, dass die Datei offen bleibt? Vielleicht die Datei nach dem Cat-Call speziell schließen? – MHH
oh es funktioniert jetzt, das ist seltsam der ursprüngliche Code war nicht, aber dieser war. Sie sahen jedoch ziemlich gleich aus. Vielleicht konnte Dropbox einfach nicht mit der langen Schleife umgehen. – MHH
'für (i in 1: 1000000000) { if (i %% 10000000 == 0) cat (i, datei = logFile, append = TRUE, sep =" \ n ") } so habe ich es endlich verifiziert Code funktioniert, vielen Dank! – MHH