sys.stdout.write()
Это одна альтернатива. Вы также можете написать на sys.stderr
. Лично я использую sys.stdout
, когда мне нужно передать общий «поток» какой-то функции, которая будет писать в него. И открытый файл - это поток, а sys.stdout
- это поток. Таким образом, моя функция может быть параметризована для записи либо в выходной файл, либо в файл.
Я также нахожу sys.stdout.write
более удобным, чем print
, для печати многих вещей в одну строку, так как нахожу синтаксис конечной запятой print
для подавления новой строки уродливым и неудобным.
Что касается печати на терминале в цветах, см. Это другое обсуждение SO .