当我注意到这个问题时,我正在研究一个名为 urwid 的 python 库。它不会发生在本机 ubuntu 中。我把它归结为以下几点:
当我运行以下打印前 15 个 unicode 字符的 python3 程序时:
for i in range(0, 16):
print(i, chr(i))
windows ubuntu 子shell 会打印垃圾字符,但本机 ubuntu 机器不会。我试图让 Windows 子外壳不打印这些垃圾字符。有没有办法做到这一点?我尝试在 Windows 子 shell 中下载和安装源代码 pro 和 ubuntu mono 字体,但这只是改变了打印的垃圾字符。
这受您的终端模拟器影响。在这些情况下,您打印的是一组控制字符,其中一些是可打印的,但大多数不可打印。通常,除非您对它们在终端上的效果感兴趣,否则将此类字符发送到屏幕并不是一个好主意,并且如果您不希望它们在屏幕上呈现,则应避免打印它们。
很可能,不同之处在于本机 Ubuntu 终端模拟器(可能是 GNOME 终端)不会将这些字符打印到屏幕上,而 Windows 终端会。两者都是有效且正确的响应。因此,如果您不想看到它们并且不想更改代码,则需要切换到没有这种行为的其他终端模拟器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句