I wrote two functions to read multi-line user input.
from os import linesep
def input_lines(prompt=None):
"""Yields input lines from user until EOFError is raised."""
while True:
try:
yield input() if prompt is None else input(prompt)
except EOFError:
break
else:
prompt = None # Only display prompt while reading first line.
def multiline_input(prompt=None):
"""Reads a multi-line input from the user."""
return linesep.join(input_lines(prompt=prompt))
if __name__ == '__main__':
print(multiline_input('Gimme your lines: '))
Is there something I can improve by maybe invoking some library method I overlooked?