如何重置 Python 解釋器的終端寬度?

如何重置 Python 解釋器的終端寬度?

當我在新的 14.04 LTS gnome 終端中啟動 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 終端選單重置沒有幫助。有沒有辦法通知 python 解釋器視窗大小已調整?

答案1

這是自 readline 6.3 版本發布以來出現的 Python 中的錯誤。 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 應該得到修復。

相關內容