Zkuste si na archu porovnat chování:
#!/usr/bin/env python
import sys
f = open(sys.argv[1])
for line in f:
print(line, end='')
a
#!/usr/bin/env python2
import sys
f = open(sys.argv[1])
for line in f:
print line,
Pro volání ./test.py /etc/passwd
fungují stejně, pro ./test.py /dev/tty
se python ve verzi 2 chová jinak a podle mého názoru divně (mimochodem stejně, jako když se rovnou iteruje přes sys.stdin)