Функция
print() по умолчанию пишет в стандартный вывод sys.stdout: туда попадает обычный результат программы. Ошибки, предупреждения и диагностические сообщения можно отправлять отдельно, в sys.stderr. Оба потока можно перенаправлять независимо.Попробуйте сделать скрипт, который считает строки в нескольких файлах. Для прочитанных файлов печатайте количество строк обычным
print(). Если файл открыть не удалось, используйте print(..., file=sys.stderr).Затем запустите команду с
> out.txt. В оболочках, где действует такая запись, результаты окажутся в файле, а ошибка останется в терминале. Разбор Python Morsels также показывает, как перенаправлять каждый поток отдельно или объединять их.
