@Deni11

Python, Как получить текст из консоли?

Пример. Если использовать команду print("123"), то конcоль выведет 123.
Нужно записать текст вывода консоли в переменную.
  • Вопрос задан
  • 5417 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
from io import StringIO
import sys

class OutputInterceptor(list):
    def __enter__(self):
        self._stdout = sys.stdout
        sys.stdout = self._stringio = StringIO()
        return self

    def __exit__(self, *args):
        self.extend(self._stringio.getvalue().splitlines())
        del self._stringio
        sys.stdout = self._stdout


with OutputInterceptor() as output:
    # Любой вывод в консоль из этого блока будет сохраняться в переменную output
    print('123')


print('\n'.join(output))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@wows15
В автоматизации сила, брат
Вот на мой взгляд самое просто решение - использовать переменную.

Пример:
from os import system

buffer = []

system('cls')
buffer.append('Hello')
print('\n'.join(buffer))

system('cls')
buffer.append('My number is 1')
print('\n'.join(buffer))

system('cls')
buffer.append('My number is 2')
print('\n'.join(buffer))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы