web-dev-qa-db-fra.com

Comment réinitialiser la largeur du terminal de l'interpréteur Python?

Quand je démarre python dans un nouveau gnome-terminal 14.04 LTS, il fait 80 caractères de large:

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

Lorsque je redimensionne le gnome-terminal, la nouvelle taille est signalée:

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

Cependant, l'entrée python Prompt ne voit pas le redimensionnement et commence à écraser le début de la ligne lorsque j'écris de longues lignes:

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

Ici, "nm" est enveloppé.

Une réinitialisation à partir du menu du gnome-terminal n'aide pas. Existe-t-il un moyen d'informer l'interpréteur python que la fenêtre est redimensionnée?

1
Finn Årup Nielsen

Il s'agit d'un bogue dans Python qui est apparu depuis la sortie de readline version 6.3. Ubuntu 14.04 a libreadline6 version 6.3-4ubuntu2, donc 14.04 et toutes les versions ultérieures d'Ubuntu sont affectées.

Le bug a été corrigé en Python, mais le correctif n'est pas encore dans une version officielle. Reportez-vous au rapport de bogue en amont ici .

Les dernières versions au moment de la rédaction de ce document sont 2.7.11 et 3.5.1, donc les prochaines versions 2.7.12, 3.5.2 et 3.6.0 devraient être corrigées.

2
Mike Miller