![如何重置 Python 解释器的终端宽度?](https://linux22.com/image/881284/%E5%A6%82%E4%BD%95%E9%87%8D%E7%BD%AE%20Python%20%E8%A7%A3%E9%87%8A%E5%99%A8%E7%9A%84%E7%BB%88%E7%AB%AF%E5%AE%BD%E5%BA%A6%EF%BC%9F.png)
当我在新的 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 应该已经修复。