Python3 печать в строкуPython

Программы на Python
Ответить
Anonymous
 Python3 печать в строку

Сообщение Anonymous »

Используя Python 3, у меня есть консольное приложение, которое я переношу в графический интерфейс. В коде есть несколько операторов печати, что-то вроде этого:

Код: Выделить всё

print(f1(), f2(), f3(), sep=getsep(), end=getend())
Я хотел бы преобразовать эти вызовы во что-то вроде:

Код: Выделить всё

GuiPrintLine(f1(), f2(), f3(), sep=getsep(), end=getend())
где каждая строка в конечном итоге отображается с использованием некоторой (неопределенной) инфраструктуры графического интерфейса.

Это это легко сделать, если я смогу преобразовать аргументы для печати в строку, которую обычно выдает print, без побочного эффекта фактической печати в sysout. Другими словами, мне нужна такая функция:

Код: Выделить всё

s = print_to_string(*args, **kwargs)
Как мне отформатировать набор параметров для print(...) в одну строку, которая выдает тот же результат, что и print()?

Я понимаю, что могу эмулировать печать, объединив все аргументы с помощью sep и end, но я бы предпочел использовать встроенное решение, если оно есть.

Использование печати и перенаправления sysout непривлекательно, поскольку требует изменения глобального состояния приложения, а sysout может одновременно использоваться для другой диагностики.

Кажется, в Python это должно быть тривиально, так что, возможно, я просто упускаю что-то очевидное.

Спасибо за любую помощь !

Подробнее здесь: https://stackoverflow.com/questions/398 ... -to-string
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»