Python - Librería Textwrap
#30 Ejemplos de cómo utilizar el módulo textwrap en Python:
#1. Envolver un texto en varias líneas de un ancho determinado:
import textwrap
texto = "Este es un texto de ejemplo que queremos envolver en varias líneas."
ancho = 20
texto_envuelto = textwrap.wrap(texto, width=ancho)
print(texto_envuelto)
#2. Envolver un texto en varias líneas de un ancho determinado y un prefijo en cada línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos envolver en varias líneas."
ancho = 20
prefijo = "> "
texto_envuelto = textwrap.wrap(texto, width=ancho, initial_indent=prefijo, subsequent_indent=prefijo)
print(" ".join(texto_envuelto))
#3. Rellenar un texto con espacios en blanco para que tenga una longitud determinada:
import textwrap
texto = "Este es un texto de ejemplo."
longitud = 30
texto_rellenado = textwrap.fill(texto, width=longitud)
print(texto_rellenado)
#4. Rellenar un texto con un carácter determinado para que tenga una longitud determinada:
import textwrap
texto = "Este es un texto de ejemplo."
longitud = 30
caracter = "-"
texto_rellenado = textwrap.fill(texto, width=longitud, fillchar=caracter)
print(texto_rellenado)
#5. Rellenar un texto con espacios en blanco para que tenga una longitud determinada y un prefijo en cada línea:
import textwrap
texto = "Este es un texto de ejemplo."
longitud = 30
prefijo = "> "
texto_rellenado = textwrap.fill(texto, width=longitud, initial_indent=prefijo, subsequent_indent=prefijo)
print(texto_rellenado)
#6. Rellenar un texto con un carácter determinado para que tenga una longitud determinada y un prefijo en cada línea:
import textwrap
texto = "Este es un texto de ejemplo."
longitud = 30
caracter = "-"
prefijo = "> "
texto_rellenado = textwrap.fill(texto, width=longitud, fillchar=caracter, initial_indent=prefijo, subsequent_indent=prefijo)
print(texto_rellenado)
#7. Cortar un texto en varias líneas de un ancho determinado y un prefijo en cada línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos cortar en varias líneas."
ancho = 20
prefijo = "> "
texto_cortado = textwrap.shorten(texto, width=ancho, placeholder="...", initial_indent=prefijo, subsequent_indent=prefijo)
print(texto_cortado)
#8. Cortar un texto en varias líneas de un ancho determinado y un sufijo en la última línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos cortar en varias líneas."
ancho = 20
sufijo = "..."
texto_cortado = textwrap.shorten(texto, width=ancho, placeholder=sufijo)
print(texto_cortado)
#9. Cortar un texto en varias líneas de un ancho determinado y un prefijo y sufijo en la última línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos cortar en varias líneas."
ancho = 20
prefijo = "> "
sufijo = "..."
texto_cortado = textwrap.shorten(texto, width=ancho, placeholder=sufijo, initial_indent=prefijo, subsequent_indent=prefijo)
print(texto_cortado)
#10. Alinear un texto a la izquierda:
import textwrap
texto = "Este es un texto de ejemplo que queremos alinear a la izquierda."
ancho = 30
texto_alineado = textwrap.fill(texto, width=ancho, align="left")
print(texto_alineado)
#11. Alinear un texto al centro:
import textwrap
texto = "Este es un texto de ejemplo que queremos alinear al centro."
ancho = 30
texto_alineado = textwrap.fill(texto, width=ancho, align="center")
print(texto_alineado)
#12. Alinear un texto a la derecha:
import textwrap
texto = "Este es un texto de ejemplo que queremos alinear a la derecha."
ancho = 30
texto_alineado = textwrap.fill(texto, width=ancho, align="right")
print(texto_alineado)
#13. Alinear un texto justificado:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar."
ancho = 30
texto_justificado = textwrap.fill(texto, width=ancho, align="justify")
print(texto_justificado)
#14. Alinear un texto justificado con un prefijo en cada línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar."
ancho = 30
prefijo = "> "
texto_justificado = textwrap.fill(texto, width=ancho, align="justify", initial_indent=prefijo, subsequent_indent=prefijo)
print(texto_justificado)
#15. Alinear un texto justificado con un sufijo en la última línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar."
ancho = 30
sufijo = "..."
texto_justificado = textwrap.fill(texto, width=ancho, align="justify", placeholder=sufijo)
print(texto_justificado)
#16. Alinear un texto justificado con un prefijo y sufijo en la última línea:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar."
ancho = 30
prefijo = "> "
sufijo = "..."
texto_justificado = textwrap.fill(texto, width=ancho, align="justify", placeholder=sufijo, initial_indent=prefijo, subsequent_indent=prefijo)
print(texto_justificado)
#17. Alinear un texto justificado con un prefijo y sufijo en la última línea y una longitud máxima:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar."
ancho = 30
prefijo = "> "
sufijo = "..."
longitud_maxima = 100
texto_justificado = textwrap.shorten(textwrap.fill(texto, width=ancho, align="justify", placeholder=sufijo, initial_indent=prefijo, subsequent_indent=prefijo), width=longitud_maxima, placeholder=sufijo)
print(texto_justificado)
#18. Alinear un texto justificado con un prefijo y sufijo en la última línea y una longitud máxima, y reemplazar los saltos de línea por espacios en blanco:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar.
Tiene saltos de línea que queremos eliminar."
ancho = 30
prefijo = "> "
sufijo = "..."
longitud_maxima = 100
texto_sin_saltos = texto.replace(" ", " ")
texto_justificado = textwrap.shorten(textwrap.fill(texto_sin_saltos, width=ancho, align="justify", placeholder=sufijo, initial_indent=prefijo, subsequent_indent=prefijo), width=longitud_maxima, placeholder=sufijo)
print(texto_justificado)
#19. Alinear un texto justificado con un prefijo y sufijo en la última línea y una longitud máxima, y reemplazar los saltos de línea por espacios en blanco y eliminar los espacios en blanco innecesarios:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar.
Tiene saltos de línea que queremos eliminar."
ancho = 30
prefijo = "> "
sufijo = "..."
longitud_maxima = 100
texto_sin_saltos = texto.replace("
", " ")
texto_sin_espacios = " ".join(texto_sin_saltos.split())
texto_justificado = textwrap.shorten(textwrap.fill(texto_sin_espacios, width=ancho, align="justify", placeholder=sufijo, initial_indent=prefijo, subsequent_indent=prefijo), width=longitud_maxima, placeholder=sufijo)
print(texto_justificado)
#20. Alinear un texto justificado con un prefijo y sufijo en la última línea y una longitud máxima, y reemplazar los saltos de línea por espacios en blanco y eliminar los espacios en blanco innecesarios, y dividir el texto en párrafos:
import textwrap
texto = "Este es un texto de ejemplo que queremos justificar.
Tiene saltos de línea que queremos eliminar.
Este es otro párrafo que queremos justificar."
ancho = 30
prefijo = "> "
sufijo = "..."
longitud_maxima = 100
parrafos = texto.split(" ")
texto_formateado = ""
for parrafo in parrafos:
parrafo_sin_saltos = parrafo.replace(" ", " ")
parrafo_sin_espacios = " ".join(parrafo_sin_saltos.split())
parrafo_formateado = textwrap.shorten(textwrap.fill(parrafo_sin_espacios, width=ancho, align="justify", placeholder=sufijo, initial_indent=prefijo, subsequent_indent=prefijo), width=longitud_maxima, placeholder=sufijo)
texto_formateado += parrafo_formateado + " "
print(texto_formateado)