El módulo de ajuste de texto se puede utilizar para ajustar y formatear texto sin formato. Este módulo proporciona formato de texto ajustando los saltos de línea en el párrafo de entrada.
Los atributos de instancia de TextWrapper (y los argumentos de palabra clave para el constructor) son los siguientes:
- ancho: Esto se refiere a la longitud máxima permitida de las líneas envueltas. Su valor predeterminado se establece en 70.
- expand_tabs: su valor predeterminado es VERDADERO. Si el valor es igual a verdadero, todos los caracteres de tabulación en la entrada de muestra se expanden a espacios usando este método.
- tamaño de tabulación: su valor predeterminado se establece en 8. Este método expande todos los caracteres de tabulación en el texto a cero o más espacios, según la columna actual y el tamaño de tabulación dado, si el valor de expand_tabs es VERDADERO.
- replace_whitespace: su valor predeterminado se establece en VERDADERO. Si el valor es verdadero, después de la expansión del tabulador pero antes del ajuste, el método wrap() reemplaza cada carácter de espacio en blanco con un solo espacio. Estos caracteres de espacio en blanco se reemplazan: tabulador, nueva línea, tabulador vertical, salto de página y retorno de carro (‘\t\ n\v\f\r’).
- drop_whitespace: su valor predeterminado se establece en VERDADERO. Los espacios en blanco al principio y al final de cada línea (después del ajuste pero antes de la sangría) se eliminan si el valor se establece en VERDADERO.
- initial_indent: su valor predeterminado se establece en ‘ ‘. Este método antepone la string dada a la primera línea de la salida envuelta.
- subsiguiente_indent: su valor predeterminado se establece en ‘ ‘. Este método antepone la string dada a todas las líneas de salida envuelta excepto la primera.
- marcador de posición: su valor predeterminado se establece en ‘ […]’. Este método agrega la string al final del texto de salida si se ha truncado.
- max_lines: su valor predeterminado se establece en Ninguno. Si el valor no es Ninguno, el texto de salida contiene como máximo líneas max_lines, con un marcador de posición al final de la salida.
- break_long_words: su valor predeterminado se establece en True. Si es VERDADERO, las palabras más largas que el ancho se dividen para ajustarse a cada línea en el ancho dado. Si es FALSO, las palabras largas no se romperán y se pondrán en una sola línea, para minimizar la cantidad en la que se excede el ancho.
- break_on_hyphens: su valor predeterminado se establece en True. Si el valor es igual a TRUE, el ajuste se produce en los espacios en blanco y justo después de los guiones en las palabras compuestas. Si el valor es FALSO, los saltos de línea solo se producen en los espacios en blanco, pero debe establecer break_long_words en FALSO si desea palabras verdaderamente inseparables.
Funciones proporcionadas por el módulo Textwrap:
- textwrap.wrap(text, width=70, **kwargs) : Esta función envuelve el párrafo de entrada de modo que cada línea del párrafo tenga como máximo caracteres de ancho. El método wrap devuelve una lista de líneas de salida. La lista devuelta está vacía si la salida envuelta no tiene contenido. El ancho predeterminado se toma como 70.
import
textwrap
value
=
"""This function wraps the input paragraph such that each line
in the paragraph is at most width characters long. The wrap method
returns a list of output lines. The returned list
is empty if the wrapped
output has no content."""
# Wrap this text.
wrapper
=
textwrap.TextWrapper(width
=
50
)
word_list
=
wrapper.wrap(text
=
value)
# Print each line.
for
element
in
word_list:
print
(element)
Producción :
This function wraps the input paragraph such that each line in the paragraph is at most width characters long. The wrap method returns a list of output lines. The returned list is empty if the wrapped output has no content.
- textwrap.fill(text, width=70, **kwargs): la función de conveniencia fill() funciona de manera similar a textwrap.wrap, excepto que devuelve los datos unidos en una única string separada por saltos de línea. Esta función envuelve el párrafo único de entrada en texto y devuelve una sola string que contiene el párrafo envuelto.
import
textwrap
value
=
"""This function returns the answer as STRING and not LIST."""
# Wrap this text.
wrapper
=
textwrap.TextWrapper(width
=
50
)
string
=
wrapper.fill(text
=
value)
print
(string)
Producción :
This function returns the answer as STRING and not LIST.
- textwrap.dedent(text) : esta función se usa para eliminar cualquier espacio en blanco inicial común de cada línea en el texto de entrada. Esto permite usar docstrings o strings de varias líneas incrustadas alineadas con el borde izquierdo de la pantalla, mientras se elimina el formato del código en sí.
Ejemplo :
import
textwrap
wrapper
=
textwrap.TextWrapper(width
=
50
)
s
=
'''\
hello
world
'''
print
(
repr
(s))
# prints ' hello\n world\n '
text
=
textwrap.dedent(s)
print
(
repr
(text))
# prints 'hello\n world\n'
Producción :
' hello\n world\n ' 'hello\n world\n'
- textwrap.shorten(text, width, **kwargs) : esta función trunca la string de entrada para que la longitud de la string sea igual al ancho dado. Al principio, todos los espacios en blanco se colapsan en la string al eliminar los espacios en blanco con un solo espacio. Si la string modificada cabe en la string dada, entonces se devuelve; de lo contrario, los caracteres del final se eliminan para que las palabras restantes más el marcador de posición quepan dentro del ancho.
import
textwrap
sample_text
=
"""This function wraps the input paragraph such that each line
n the paragraph is at most width characters long. The wrap method
returns a list of output lines. The returned list
is empty if the wrapped
output has no content."""
wrapper
=
textwrap.TextWrapper(width
=
50
)
dedented_text
=
textwrap.dedent(text
=
sample_text)
original
=
wrapper.fill(text
=
dedented_text)
print
(
'Original:\n'
)
print
(original)
shortened
=
textwrap.shorten(text
=
original, width
=
100
)
shortened_wrapped
=
wrapper.fill(text
=
shortened)
print
(
'\nShortened:\n'
)
print
(shortened_wrapped)
Producción :
Original: This function wraps the input paragraph such that each line n the paragraph is at most width characters long. The wrap method returns a list of output lines. The returned list is empty if the wrapped output has no content. Shortened: This function wraps the input paragraph such that each line n the paragraph is at most width [...]
- textwrap.indent(text, prefix, predicate=None) : Esta función se usa para agregar el prefijo dado al comienzo de las líneas seleccionadas del texto. El argumento del predicado se puede usar para controlar qué líneas están sangradas.
import
textwrap
s
=
'hello\n\n \nworld'
s1
=
textwrap.indent(text
=
s, prefix
=
' '
)
print
(s1)
print
(
"\n"
)
s2
=
textwrap.indent(text
=
s, prefix
=
'+ '
, predicate
=
lambda
line:
True
)
print
(s2)
Producción :
hello world + hello + + + world
Este artículo es una contribución de Aditi Gupta . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA