Cómo usar el módulo TextWrap en Python

Cómo usar el módulo TextWrap en Python
Este artículo cubrirá una guía sobre el uso del módulo "TextWrap" en Python. Como su nombre indica, este módulo se puede usar para "envolver" el texto para que las líneas o oraciones puedan ajustarse dentro de las restricciones de longitud predefinidas. Esto generalmente se hace acortando una pieza de texto y moviendo las partes más largas a la siguiente línea para que todas las líneas se adhieran a los límites de los caracteres. El uso del módulo TextWrap se puede entender mejor a través de ejemplos. A continuación se muestran algunas muestras de código que ilustran el uso del módulo TextWrap y sus métodos. Estas muestras de código se prueban con Python 3.9.5 en Ubuntu 21.04.

Texto de envoltura usando un umbral de límite de caracteres

Eche un vistazo a la muestra de código a continuación:

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor magna aliqua."
envuelto_para = textWrap.envoltura (para)
Imprima (envuelto_para)
Para línea en Wrapped_para:
Imprimir (Línea, Len (Line))

La primera declaración importa el módulo "TextWrap". La variable "para" contiene una pieza de texto que se envolverá en múltiples líneas. A continuación, se llama al método "envolver" del módulo TextWrap suministrando la variable para el argumento. Este método se utiliza para envolver y dividir el texto en múltiples líneas. Las dos declaraciones de "impresión" muestran la salida del texto envuelto.

Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:

['Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do' ',' eiusmod tempor incididunt ut labore et dolor magna aliqua.']
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do 63
eiusmod tempor incididunt ut labore et dolore magna aliqua. 59

El método de envoltura devuelve una lista de para segmentado, como se muestra en la primera línea de la salida. Puede ejecutar una variedad de operaciones en la lista para presentar el texto de cualquier forma que desee. Las últimas dos líneas en la salida muestran la salida de líneas segmentadas individuales y su recuento de personajes. Por defecto, el método WRAP aplica un límite de caracteres de 70 caracteres. Puede cambiar este límite proporcionando un argumento adicional de "ancho" con su propio valor personalizado, como se muestra en la muestra de código a continuación:

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor magna aliqua."
envuelto_para = textWrap.envoltura (para, ancho = 90)
Imprima (envuelto_para)
Para línea en Wrapped_para:
Imprimir (Línea, Len (Line))

Con el límite de caracteres de 90 caracteres ahora, la muestra de código anterior ahora produce una salida diferente:

['Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt', 'Ut labore et dolore magna aliqua.']
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt 89
UT Labore et Dolore Magna Aliqua. 33

Uso del método de relleno para producir un trozo de texto envuelto

Si no desea una lista de texto segmentado y desea usar directamente el texto de múltiples líneas envuelto, puede usar el método "Fill" disponible en el módulo TextWrap.

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor magna aliqua."
envuelto_para = textWrap.llenar (para, ancho = 90)
Imprima (envuelto_para)

Después de ejecutar la muestra de código de código anterior, debe obtener la siguiente salida:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
UT Labore et Dolore Magna Aliqua.

El método de relleno separa cada línea segmentada con un carácter "\ n" Newline. Es un método de conveniencia incluido en el módulo TextWrap. Puede lograr el mismo efecto utilizando el método WRAP uniendo las líneas segmentadas en la lista utilizando el carácter "\ n".

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor magna aliqua."
envuelto_para = "\ n".Únete (envío de textos.envoltura (para, ancho = 90))
Imprima (envuelto_para)

Acortar o truncar el texto

Puede truncar o acortar el texto utilizando el método "Shorten" disponible en el módulo TextWrap. Cortará el texto hasta un límite de caracteres en particular especificado como un argumento. Al final del texto, se agregarán tres puntos (elipsis) para indicar que esto es solo un breve resumen del texto y no un párrafo o oración completa. Tenga en cuenta que el método Shorten puede no funcionar correctamente con textos que no contienen palabras separadas de espacio adecuadas. Si hay múltiples espacios en blanco entre palabras, se reducirán a un solo espacio en blanco.

Eche un vistazo a la muestra de código a continuación:

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor magna aliqua."
envuelto_para = textWrap.Acortar (para, ancho = 90)
Imprima (envuelto_para)

El código es bastante sencillo. Llamas al método Shorten suministrando la variable PARA como argumento obligatorio y especifica un límite de caracteres. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:

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

Agregar y eliminar la sangría

Puede usar el método "Dedent" para eliminar y el método de "sangría" para agregar la sangría líder a cada línea en una pieza de texto. La muestra de código a continuación muestra el uso del método dedente:

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor magna aliqua.
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
Imprimir (para)
envuelto_para = textWrap.Dedente (para)
Imprima (envuelto_para)

La variable para ahora contiene dos líneas, cada una con una sangría líder de un carácter de pestaña (alrededor de cuatro espacios). Cadena envuelta en las cotizaciones triples de preservación y estas cadenas se presentan "tal cual" sin modificaciones y sin escapar de caracteres especiales. Luego se llama al método dedente al proporcionarle la variable para un argumento. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:

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

Las dos primeras líneas muestran el texto original con muescas líderes. Las últimas dos líneas en la salida muestran las mismas dos líneas con hendiduras principales eliminadas.

El método "sangría" funciona de manera similar, pero ahora debe especificar una cadena de sangría líder o un prefijo como argumento adicional.

Importar envío de texto
para = "lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
Imprimir (para)
envuelto_para = textWrap.sangría (para, "\ t")
Imprima (envuelto_para)

Aquí el personaje de pestaña "\ t" se usa para agregar una pestaña antes de cada línea en el texto. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:

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

Conclusión

El módulo TextWrap proporciona una serie de métodos convenientes que le permiten acortar el texto de varias maneras. El uso de estos métodos en los párrafos puede mejorar su formato y legibilidad, especialmente en las interfaces de usuario con restricciones de espacio.