3

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?

Monkeyanator
  • 1,346
  • 2
  • 14
  • 29

1 Answers1

5

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

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343