Python 3.x:为什么空闲打印转义字符\ r为♪?

时间:2019-06-10 11:42:48

标签: python python-idle

idle将\ r打印为♪

代码

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

print('haha\rhehe')

这是输出

haha♪

haha♪hehe

感谢您发现另一个相同的问题!有没有可能使用\ r的方法?对此没有任何解释...

1 个答案:

答案 0 :(得分:0)

默认情况下,python(不是IDLE)将打印输出发送到sys.stdout。 IDLE将sys.stdout连接到tinter(tcl / tk)文本小部件。然后,所发生的情况取决于tk,操作系统和所使用的字体。对于制表符('\ t')以外的控制字符,然后输入('\ n'),结果是不确定的。可能内容什么都不包含,没有空格和令人费解的符号字符。在Win 10上使用SourceCodePro字体的3.7.3,我什么也看不到。 print('a\rb')产生ab。 IDLE文档,帮助==> IDLE帮助,Shell中的用户输出部分讨论了控制字符的打印。

要查看如果在特定终端或控制台中直接使用python直接运行代码会发生什么,请在该特定环境中运行它。要在不考虑操作系统的情况下详细控制输出,请使用gui框架,例如tkinter。