Lire l'entrée redirigé depuis stdin avec python

J'ai cette boucle qui lit les lignes à partir de stdin, jusqu'à un retour à la ligne est entré, cependant, cela ne fonctionne que de taper dans l'entrée. Comment puis-je obtenir le programme pour lire les lignes d'un redirigé stdin via la ligne de commande?

Par exemple:

$ python graph.py < input.input

Voici la boucle que j'ai à lire les lignes de l'entrée:

while 1:
     line = sys.stdin.readline()
     if line == '\n':
         break
     try:
       lines.append(line.strip())
     except:
       pass
Comment est-il pas de travail?
Le programme se bloque à la deuxième ligne de la boucle et de ne pas cesser de fumer, à moins que je l'interrompre avec le clavier.
Êtes-vous sûr que votre fichier se termine par un '\n'? Vous êtes probablement en cours d'exécution dans une boucle infinie ici. Il est probable que votre fichier se termine avec un '' ligne.

OriginalL'auteur Christian Benincasa | 2012-03-06