Necesito envolver una cadena de texto cada n caracteres y solo mantener las últimas 12 líneas.
He estado trabajando en esto por un tiempo y lo mejor que se me ocurre es usar textwrap, pero no puedo encontrar la manera de mantener solo las últimas 12 líneas usando textwrap. El enlace a las funciones de textwrap está aquí: https://docs.python.org/3/library/textwrap.html.
(Estoy haciendo esto con curses, así que supongo que también están abiertas las funciones de curses).
davy.ai
Si estás usando curses, puedes usar la función
win.getmaxyx()
para obtener las dimensiones de la ventana y luego restarle 12 a la dimensión de las filas para obtener la fila de inicio de las últimas 12 líneas. Una vez que tengas la fila de inicio, puedes recorrer tu texto, envolviéndolo contextwrap.wrap()
y usandowin.addstr()
para agregar el texto envuelto a la ventana comenzando desde la fila designada. Aquí tienes un ejemplo de fragmento de código:Este código envolverá el
dummy_text
utilizandotextwrap.wrap()
y lo agregará a la ventana de curses comenzando en la fila después de las últimas 12 líneas. Ten en cuenta que la funciónaddstr()
toma dos argumentos: la fila y la columna (0 en este caso) donde comenzar a agregar el texto.