Python 3.x: почему на холостых распечатывается экранирующий символ \ r как ♪? - PullRequest
0 голосов
/ 10 июня 2019

холостые распечатки \ r как 100

код

print('haha', end='\r')

print('haha\rhehe')

Это вывод

haha♪

haha♪hehe
#

Спасибо, что нашли такой же вопрос! Есть ли какой-нибудь возможный способ использовать \ r? Там нет объяснений по этому поводу ...

1 Ответ

0 голосов
/ 27 июня 2019

По умолчанию python (не IDLE) отправляет вывод на sys.stdout. IDLE соединяет sys.stdout с текстовым виджетом tinter (tcl / tk). Что происходит затем, зависит от tk, операционной системы и шрифта, который вы используете. Для управляющих символов, кроме tab ('\ t') и enter ('\ n'), результат не определен. Возможные варианты: ничего, пробел и загадочный символ. С 3.7.3 на Win 10 со шрифтом SourceCodePro я ничего не вижу. print('a\rb') приводит к ab. Документ IDLE, Справка ==> Справка IDLE, раздел «Вывод пользователя в командной консоли», посвященный печати управляющих символов.

Чтобы увидеть, что произойдет, если вы запустите свой код напрямую с python в конкретном терминале или консоли, запустите его в этой конкретной среде. Для подробного управления выводом независимо от ОС, используйте графический интерфейс, такой как tkinter.

...