Como usar o módulo TextWrap em Python

Como usar o módulo TextWrap em Python
Este artigo abordará um guia sobre o uso do módulo "textwrap" no Python. Como o nome sugere, este módulo pode ser usado para "embrulhar" o texto para que linhas ou frases possam ser ajustadas dentro das restrições de comprimento predefinido. Isso geralmente é feito reduzindo um pedaço de texto e movendo as partes mais longas para a próxima linha, para que todas as linhas adirem aos limites do personagem. O uso do módulo textwrap pode ser melhor compreendido através de exemplos. Abaixo estão algumas amostras de código que ilustram o uso do módulo TextWrap e seus métodos. Essas amostras de código são testadas com Python 3.9.5 no Ubuntu 21.04.

Embrulhar texto usando um limite de limite de caracteres

Dê uma olhada no exemplo de código abaixo:

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
WRAPT_PARA = TextWrap.embrulhe (parágrafo)
Imprimir (WAPPET_PARA)
Para linha em wrapping_para:
Imprimir (linha, Len (linha))

A primeira declaração importa o módulo "textwrap". A variável "para" contém um texto que será envolvido em várias linhas. Em seguida, o método "WRAP" do módulo TextWrap é chamado fornecendo a variável para o argumento. Este método é usado para envolver e dividir o texto em várias linhas. As duas declarações "impressas" mostram a saída de texto embrulhado.

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

['Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do', 'eiusmod temporal incididunt ut ladore et dolore magna aliqua.']
Lorem ipsum dolor Sit AMET, consecture adipiscing elit, sed do 63
eiusmod temporal incididunt Ut Labore et dolore magna aliqua. 59

O método WRAP retorna uma lista de parágrafo segmentados, como mostrado na primeira linha da saída. Você pode executar uma variedade de operações na lista para apresentar o texto da maneira que quiser. As duas últimas linhas da saída mostram a saída de linhas segmentadas individuais e sua contagem de personagens. Por padrão, o método WRAP aplica um limite de caracteres de 70 caracteres. Você pode alterar esse limite fornecendo um argumento extra de "largura" com seu próprio valor personalizado, conforme mostrado no exemplo de código abaixo:

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
WRAPT_PARA = TextWrap.Wrap (parágrafo, largura = 90)
Imprimir (WAPPET_PARA)
Para linha em wrapping_para:
Imprimir (linha, Len (linha))

Com o limite de caracteres de 90 caracteres agora, a amostra de código acima agora produz uma saída diferente:

['Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt', 'ut ladore et dolore magna aliqua.']
LOREM IPSUM DOLOR SIT AMET, consectUr adipiscing elit, sed do eiusmod temporal incididunt 89
Ut Labore et dolore magna aliqua. 33

Usando o método de preenchimento para produzir um pedaço de texto embrulhado

Se você não deseja uma lista de texto segmentado e deseja usar diretamente o texto multi-linha embrulhado, você pode usar o método "preenchimento" disponível no módulo TextWrap.

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
WRAPT_PARA = TextWrap.preencher (parágrafo, largura = 90)
Imprimir (WAPPET_PARA)

Depois de executar a amostra de código do código acima, você deve obter a seguinte saída:

Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt
Ut Labore et dolore magna aliqua.

O método de preenchimento separa cada linha segmentada com um caractere "\ n" newline. É um método de conveniência incluído no módulo textwrap. Você pode obter o mesmo efeito usando o método WRAP, juntando -se às linhas segmentadas na lista usando o caractere "\ n".

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
WRAPT_PARA = "\ n".Junte -se (TextWrap.Wrap (parágrafo, largura = 90))
Imprimir (WAPPET_PARA)

Encurtar ou truncar o texto

Você pode truncar ou reduzir o texto usando o método "encurtar" disponível no módulo TextWrap. Ele reduzirá o texto até um limite de caractere específico especificado como um argumento. No final do texto, três pontos (elipsis) serão adicionados para indicar que este é apenas um breve resumo do texto e não um parágrafo ou frase completa. Observe que o método de encurtamento pode não funcionar corretamente com textos que não contêm palavras de espaço adequadas separadas. Se houver vários espaços de brancos entre as palavras, eles serão reduzidos a um único espaço em branco.

Dê uma olhada no exemplo de código abaixo:

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
WRAPT_PARA = TextWrap.Encurte -se (parágrafo, largura = 90)
Imprimir (WAPPET_PARA)

O código é bem direto. Você chama o método de encurtamento fornecendo a variável para o argumento obrigatório e especifica um limite de caractere. Depois de executar a amostra de código acima, você deve obter a seguinte saída:

Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal […]

Adicione e remova o recuo

Você pode usar o método "dedução" para remover e o método "recuo" para adicionar o recuo principal a cada linha em um pedaço de texto. O exemplo de código abaixo mostra o uso do método de dedução:

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.
Sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
Imprimir (parágrafo)
WRAPT_PARA = TextWrap.dedução (parágrafo)
Imprimir (WAPPET_PARA)

A variável pará. String embrulhada em citações triplas de preservar o espaçamento e essas strings são apresentadas "como está" sem nenhuma modificação e sem escapar de caracteres especiais. O método de dedução é então chamado, fornecendo -o a variável para um argumento. Depois de executar a amostra de código acima, você deve obter a seguinte saída:

Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.
Sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectur adipiscing elit, sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.
Sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.

As duas primeiras linhas mostram o texto original com recortes principais. As duas últimas linhas na saída mostram as mesmas duas linhas com os recortes principais removidos.

O método "recuo" funciona de maneira semelhante, mas agora você precisa especificar uma string líder de indentação ou um prefixo como um argumento extra.

importar textwrap
Para = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod temporal incididunt ut labore et dolore magna aliqua."
Imprimir (parágrafo)
WRAPT_PARA = TextWrap.recuo (parágrafo, "\ t")
Imprimir (WAPPET_PARA)

Aqui o caractere da guia “\ t” é usado para adicionar uma guia antes de cada linha no texto. Depois de executar a amostra de código acima, você deve obter a seguinte saída:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod temporal incididunt ut labore et dolore magna aliqua.

Conclusão

O módulo TextWrap fornece vários métodos convenientes, permitindo reduzir o texto de várias maneiras. O uso desses métodos em parágrafos pode melhorar sua formatação e legibilidade, especialmente em interfaces de usuário com restrições de espaço.