Мне интересно, есть ли функция в стандартной библиотеке, которая выполняет все функции печати, и возвращает ее как строку. Кажется, что должно быть, но если это так, я не смотрю в нужное место.Есть ли в Python стандартная библиотека «print_to_string»?
Моя ситуация Я сделал программирования упражнение, которое создает (после некоторых вычислений) строку цифр, сохраненных в списке, е, г,
digits=[1, 0, 0, 1, 0, 1, 0, 0, 0, 1]
и положение десятичной точки dp=4
и я хочу перевернуть это во что-то похожее на десятичную. Функция печати работает хорошо, чтобы показать то, что я хочу:
print(*(digits[:dp + 1] + ['.'] + digits[dp + 1:]), sep='')
производит 10010.10001
, но если я хочу, чтобы вернуть этот результат как строка кажется, я должен писать дополнительный код. Не то, чтобы это было сложно, но нет необходимости, если есть что-то уже встроенное. Кажется, что ни один из принтеров, форматов или оператор% не делает этого. Самое близкое, что я мог найти, это класс StringIO, но я надеялся на что-то более простое и менее загадочное.
@BartoszKP: Нет, это правильный вопрос для неправильных ответов на этот вопрос. – tripleee
, но печать в буфер StringIO проста и неглазурована. – tdelaney
Просто добавьте десятичную точку –