如何重置 Python 解释器的终端宽度?

如何重置 Python 解释器的终端宽度?

当我在新的 14.04 LTS gnome-terminal 中启动 python 时,它有 80 个字符宽:

$ python
>>> import os
>>> os.popen('stty size', 'r').read()
'24 80\n'

当我调整 gnome-terminal 的大小时,会报告新的大小:

>>> os.popen('stty size', 'r').read()
'23 170\n'

但是,当我写长行时,输入 python 提示看不到调整大小并开始覆盖行首:

nm> 1234567890qwertyuiopåasdfghjklæøzxcvbnm1234567890qwertyuiopåasdfghjklæøzxcvb

此处‘nm’被包装起来。

从 gnome-terminal 菜单重置无济于事。有没有办法通知 python 解释器窗口已调整大小?

答案1

这是 Python 中的一个错误,自 readline 版本 6.3 发布以来就出现了。Ubuntu 14.04 有 libreadline6 版本 6.3-4ubuntu2,因此 14.04 和所有后续 Ubuntu 版本都会受到影响。

该错误已在 Python 中修复,但尚未在任何官方版本中修复。请参阅上游错误报告这里

截至撰写本文时,最新版本是 2.7.11 和 3.5.1,因此下一个版本 2.7.12、3.5.2 和 3.6.0 应该已经修复。

相关内容