当我在新的 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 应该已经修复。