6

I'm trying to read in the following text from the command-line in Python 3 (copied verbatim, newlines and all):

lcbeika
rraobmlo
grmfina
ontccep
emrlin
tseiboo
edosrgd
mkoeys
eissaml
knaiefr

Using input, I can only read in the first word as once it reads the first newline it stops reading.

Is there a way I could read in them all without iteratively calling input?

Humphrey Bogart
  • 7,423
  • 14
  • 52
  • 59

2 Answers2

12

You can import sys and use the methods on sys.stdin for example:

text = sys.stdin.read()

or:

lines = sys.stdin.readlines()

or:

for line in sys.stdin:
    # Do something with line.
Mark Byers
  • 811,555
  • 193
  • 1,581
  • 1,452
-2

if you are passing the text into your script as a file , you can use readlines()

eg

data=open("file").readlines()

or you can use fileinput

import fileinput
for line in fileinput.input():
    print line
ghostdog74
  • 327,991
  • 56
  • 259
  • 343