Can't get sys.stdin.readlines() to work

Steve Holden steve at
Sun Jan 31 19:36:55 CET 2010

tinnews at wrote:
> I'm trying to read some data from standard input, what I'm actually
> trying to do is process some date pasted in using the mouse cut and
> paste on a Linux box (xubuntu 9.10) in a terminal window.
> First attempts failed so I'm now trying the trivial:-
>     import sys
>     data = sys.stdin.readlines()
>     print "Counted", len(data), "lines."
> When I run this and try to paste something into the terminal window I
> get the following errors:-
>     /home/chris/bin/ line 2: syntax error near unexpected token `('
>     /home/chris/bin/ line 2: `data = sys.stdin.readlines()'
> It does exactly the same if I try:-
>     cat |
> and then paste something into the window.
> So - what on earth am I doing wrong?
Trying to run Python scripts with /bin/sh, probably.

First of all, does you PATH include the current directory (.)? It looks
like it does, because your computer seems to be trying to execute the script. However, because that script does not start with a
"shebang" line - the one you need is probably either



  #!/usr/bin/env python

the shell is trying to run the script using the wrong interpreter.

Steve Holden           +1 571 484 6266   +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010
Holden Web LLC       

More information about the Python-list mailing list