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,073
  • 13
  • 51
  • 58

2 Answers2

11

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
  • 767,688
  • 176
  • 1,542
  • 1,434
-1

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
  • 307,646
  • 55
  • 250
  • 337