Генераторы словарей и модули Рython
Функции в языке Python Функции в языке PythonВсе функции в языке Python возвращают какое-либо значение, хотя вполне возможно (и часто так и делается) просто игнорировать это значение. Возвращаемое значение может быть единственным значением или кортежем значений,...
Реализация генераторов Реализация генераторовМы рассмотрели коллекции-последовательности, tuple, collections, na-medtuple и list, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания...
Парсинг документов XML Парсинг документов XMLXML: Для парсинга документов XML широко используются два основных подхода. Один из них основан на анализе DOM (Document Object Model -объектная модель документа), а другой - на использовании SAX (Simple API for XML - упрощенный...
Копирование коллекций Копирование коллекцийКопирование коллекций: Поскольку в языке Python повсюду используются ссылки на объекты, когда выполняется оператор присваивания (=), никакого копирования данных на самом деле не происходит. Если справа от оператора находится литерал,...
Функция char_at
В некоторых ситуациях бывает удобно перехватывать и записывать в строку все то, что предназначено для вывода в файл. Добиться этого можно с помощью класса io.StringlO, экземпляр которого можно использовать как обычный объект файла, который записывает данные в строку. Если при создании объекта io. StringlO была указана начальная строка, его также можно использовать для чтения, как если бы это был файл.

Если эту строку поместить в начало программы, вслед за инструкциями импорта, но перед любыми инструкциями, использующими sys. stdout, то любой текст, записываемый в sys. stdout, в действительности будет передаваться объекту io. StringlO, созданному этой строкой кода и заменившему стандартный объект файла sys. stdout. Теперь при выполнении приведенных выше строк с вызовами print и sys.stdout. write выводимый ими текст будет попадать в объект io.StringlO, а не на консоль. (Оригинальное значение sys.stdout можно восстановить в любой момент, для чего достаточно выполнить инструкцию sys.stdout = sys.__stdout__.)

Чтобы получить все строки, записанные в объект io.StringlO, можно вызвать метод io. StringlO. getvalue . В данном случае вызовом метода sys. stdout. getvalue можно получить строку, содержащую весь выводившийся текст. Эту строку можно напечатать, сохранить в файл журнала или отправить через сетевое соединение, как и любую другую строку. Немного ниже мы увидим еще один пример использования класса io. StringlO.
Навигация: 1 2 3
 
 
© Copyright