Руководство Python Print to Stderr с примером

Модуль

Python sys предоставляет файловые объекты , которые представляют stdin , stdout , и stderr . Модуль sys помогает нам получить доступ к переменным, управляемым интерпретатором. Чтобы использовать любой из этих объектов, нам нужно сначала импортировать модуль sys .

 import sys 

Давайте разберемся с терминами stdin , stdout и stderr объекты подробно.

Что такое стандартный ввод

В Python объект stdin используется для всего интерактивного ввода (включая вызовы функции input ()). Файловый объект stdin обрабатывает пользовательскую программу, которая используется для получения информации от пользователя. Объект sys.stdin можно использовать для получения ввода напрямую из командной строки. Он используется для стандартного ввода.

 import sysfor line in sys.stdin: if 'q' == line.rstrip (): break print (f '  Ваш ввод: {line} ') print ("Вы вышли из программы") 

Output

 kgb преследовал меня  : kgb преследовал meqExit 

Что такое стандартный вывод

Используется объект stdout для вывода print () и выражений, а также подсказок input (). Он записывает в этот объект стандартную информацию. Вывод возвращается через стандартный вывод ( stdout ).

Системная Функция .stdout.write () также выводит количество букв в тексте при использовании в интерактивном режиме. В отличие от print, sys.stdout.write не переключается на новую строку после отображения одного текста.

 import syssys.stdout.write ('yello, this is homer') 

 привет, это homer 

Что такое стандартная ошибка

stderr используется для записи информации об ошибке в этот дескриптор файла. Собственные приглашения интерпретатора и сообщения об ошибках передаются объекту stderr . Функция stderr () печатает Исключения и сообщения об ошибках .

 import sysstdout_file = sys.stdoutstderr_file = sys.stderrs_list = ['Simpson!', 'Yello', 'from Homer'] для y_t в s_list: # Печатает в stdout stdout_file.write (y_t + ' n  ') # Пытается добавить целое число со строкой.  Вызывает исключение try: y_t = y_t + 100 # Поймать все исключения, кроме: stderr_file.write ('Exception Occurred!  N') 

Вывод

 Симпсон! Произошло исключение! Возникло исключение YelloException! Произошло исключение HomerException! 

Печать Python в Stderr

Чтобы распечатать сообщение об ошибке. вы можете использовать файловый объект stderr в n Python.

 import sysdef print_to_stderr (* a): # Здесь a - массив, содержащий объекты, # переданные в качестве аргумента функции print (* a, file = sys.stderr) print_to_stderr ("Это  error ") 

Вывод

 Это ошибка 

Как видите, у нас напечатано в stderr.

Вы также можете обратиться к гораздо более простому и гибкому, чем другие методы.

 from __future__ import print_functionimport sysdef modified_print (* args, ** kwargs  ): print (* args, file = sys.stderr, ** kwargs) modified_print ("азиатский", "рисует", "индиго", "рисует", sep = "||") 

Вывод

 азиатские || краски || индиго || краски 

Здесь функция modified_print () работает так же, как функция print () в Python.

Это для учебника Python Print to Stderr.

Оцените статью
nanomode.ru
Добавить комментарий