Question

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?

Was it helpful?

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).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top