tee
[ allennlp.common.tee ]
replace_cr_with_newline#
def replace_cr_with_newline(message: str) -> str
TQDM and requests use carriage returns to get the training line to update for each batch without adding more lines to the terminal output. Displaying those in a file won't work correctly, so we'll just make sure that each batch shows up on its one line.
TeeHandler Objects#
class TeeHandler():
| def __init__(
| self,
| filename: str,
| terminal: TextIO,
| file_friendly_terminal_output: bool = False,
| silent: bool = False
| ) -> None
This class behaves similar to the tee
command-line utility by writing messages
to both a terminal and a file.
It's meant to be used like this to patch sys.stdout and sys.stderr.
Examples
sys.stdout = TeeHandler("stdout.log", sys.stdout)
sys.stderr = TeeHandler("stdout.log", sys.stderr)
write#
| def write(self, message)
flush#
| def flush(self)
isatty#
| def isatty(self)
Mirror the API of sys.stdout so that we can check for the presence of a terminal easily.
cleanup#
| def cleanup(self) -> TextIO