【发布时间】:2016-01-14 08:14:15
【问题描述】:
我有以下 Python 代码:
for num in range(80, 150):
input()
print(num)
print(chr(27))
print(chr(num))
input() 语句仅用于控制 for 循环的执行速度。我不希望这会做任何特别的事情,但是当循环达到某些数字时,打印那个 ASCII 字符,前面是 ASCII 27(这是 ESC 字符)会做一些意想不到的事情:
在 92 和 94,数字不打印。 http://i.stack.imgur.com/DzUew.png
在 99(字母 c)处,一堆终端输出被删除。 http://i.stack.imgur.com/5XPy3.png
在 108(字母 l)处,当前行向上跳了几行(但文本仍在下方)。 (没有得到合适的屏幕截图,如果有帮助我会稍后添加)
在 128 或 129,第一个字符开始被屏蔽。您必须输入一些内容(我输入了“jjj”),以防止该行发生这种情况。 http://i.stack.imgur.com/DRwTm.png
我不知道为什么会发生这种情况,尽管我认为这与 ESC 字符与终端交互有关。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: python macos terminal ansi-escape