Como faço para redefinir a largura do terminal do interpretador Python?

1

Quando inicio o python em um novo terminal GNOME do 14.04 LTS, ele tem 80 caracteres:

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

Quando eu redimensiono o terminal gnome, o novo tamanho é relatado:

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

No entanto, o prompt python de entrada não vê o redimensionamento e começa a sobrescrever o início da linha quando escrevo longas linhas:

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

Aqui 'nm' está embrulhado.

Um reset do menu do gnome-terminal não ajuda. Existe uma maneira de informar ao interpretador python que a janela é redimensionada?

    
por Finn Årup Nielsen 15.04.2016 / 18:08

1 resposta

2

Este é um bug no Python que apareceu desde que a versão readline 6.3 foi lançada. O Ubuntu 14.04 tem libreadline6 versão 6.3-4ubuntu2, então 14.04 e todas as versões posteriores do Ubuntu são afetadas.

O bug foi corrigido em Python, mas a correção ainda não está em nenhum lançamento oficial. Consulte o relatório de bug do upstream aqui .

Os últimos lançamentos da época em que escrevo são 2.7.11 e 3.5.1, então as próximas versões 2.7.12, 3.5.2 e 3.6.0 devem ser corrigidas.

    
por Mike Miller 15.04.2016 / 20:09