You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Either the write_once() should execute once_file["mode"] = "a" so further lines are appended instead of replacing the file, or the code should be refactored to work like the tee() command and keep a reference to the opened file for re-use until unset_once_if_written() is called (which would then close the file). With that second option, you could then also drop the written_to_once_file flag variable, because the opened file object would only exist if there had been output to write.
The text was updated successfully, but these errors were encountered:
When using
.once -o ...
, only the last line of the next output remains in the file once that command has completed.That's because the
write_once()
function is executed for each individual output line, and each time the output file is opened with a newopen(**once_file)
call. Because the-o
sets the file mode to"w"
, the output file is truncated for each line, and so all preceding output is lost.Either the
write_once()
should executeonce_file["mode"] = "a"
so further lines are appended instead of replacing the file, or the code should be refactored to work like thetee()
command and keep a reference to the opened file for re-use untilunset_once_if_written()
is called (which would then close the file). With that second option, you could then also drop thewritten_to_once_file
flag variable, because the opened file object would only exist if there had been output to write.The text was updated successfully, but these errors were encountered: