I have this loop that reads lines from stdin until a newline is entered, however, this only works from typing in the input. How do I get the program to read lines from a redirected stdin via the command line?
For instance:
$ python graph.py < input.input
Here is the loop I have to read lines from input:
while 1:
line = sys.stdin.readline()
if line == '\n':
break
try:
lines.append(line.strip())
except:
pass
As others have mentioned, probably your condition line == '\n'
never holds true. The proper solution would be to use a loop like:
for line in sys.stdin:
stripped = line.strip()
if not stripped: break
lines.append(stripped)
Consider the following option
import sys
sys.stdin = open("input.txt", "r")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With