Home >Backend Development >Python Tutorial >How to Rewrite Multiple Lines in the Console for Dynamic Text Modification?
Rewriting Multiple Lines in the Console for Dynamic Text Modification
In text-based applications, it is often necessary to update and rewrite multiple lines in the console for dynamic user interaction. This can present a challenge when attempting to preserve the layout and presentation of the display.
In various operating systems, different methods exist to achieve this behavior:
Unix
Windows
There are several options available:
Sample Code Using curses
The following Python code demonstrates the use of curses to rewrite multiple lines in a terminal:
import curses import time def report_progress(filename, progress): """progress: 0-10""" stdscr.addstr(0, 0, "Moving file: {}".format(filename)) stdscr.addstr(1, 0, "Total progress: [{1:10}] {0}%".format(progress * 10, "#" * progress)) stdscr.refresh() if __name__ == "__main__": stdscr = curses.initscr() curses.noecho() curses.cbreak() try: for i in range(10): report_progress("file_{0}.txt".format(i), i+1) time.sleep(0.5) finally: curses.echo() curses.nocbreak() curses.endwin()
This code uses curses to initialize a text-based screen, disable echo and line buffering, print text on the screen, and refresh the display. By repeatedly calling the report_progress function, multiple lines in the console can be dynamically updated.
The above is the detailed content of How to Rewrite Multiple Lines in the Console for Dynamic Text Modification?. For more information, please follow other related articles on the PHP Chinese website!