I want to create a Python program which takes in multiple lines of user input. For example:
This is a multilined input.
It has multiple sentences.
Each sentence is on a newline.
How can I take in multiple lines of raw input?
I want to create a Python program which takes in multiple lines of user input. For example:
This is a multilined input.
It has multiple sentences.
Each sentence is on a newline.
How can I take in multiple lines of raw input?
sentinel = \'\' # ends when this string is seen
for line in iter(raw_input, sentinel):
pass # do things here
To get every line as a string you can do:
\'\\n\'.join(iter(raw_input, sentinel))
Python 3:
\'\\n\'.join(iter(input, sentinel))
Keep reading lines until the user enters an empty line (or change stopword
to something else)
text = \"\"
stopword = \"\"
while True:
line = raw_input()
if line.strip() == stopword:
break
text += \"%s\\n\" % line
print text
Alternatively,You can try sys.stdin.read()
import sys
s = sys.stdin.read()
print(s)
Just extending this answer https://stackoverflow.com/a/11664652/4476612 instead of any stop word you can just check whether a line is there or not
content = []
while True:
line = raw_input()
if line:
content.append(line)
else:
break
you will get the lines in a list and then join with \\n to get in your format.
print \'\\n\'.join(content)
Try this
import sys
lines = sys.stdin.read().splitlines()
print(lines)
INPUT:
1
2
3
4
OUTPUT: [\'1\', \'2\', \'3\', \'4\']