Search code examples
pythonasciicurses

Python Curses - Printing Ascii Art


I have a long multi-line ascii art string that I would like to present to the user using the Python curses module. I am a bit confused as to approaching this, as the only method to print a string in curses is addstr(y,x,string), which only prints to one line. Any ideas on how this could be accomplished?


Solution

  • Loop over the lines, using str.splitlines():

    for y, line in enumerate(ascii_art.splitlines(), 2):
        w.addstr(y, 2, line)
    

    This uses enumerate() to keep track of the y position, putting the whole ascii-art string on the screen starting at position (2, 2).