Найти - Пользователи
Полная версия: RuntimeError: input(): lost sys.stdin
Начало » Python для новичков » RuntimeError: input(): lost sys.stdin
1 2
mikdmgo
вот альтернатива:

line = sys.stdin.readline()
if not line: raise EOFError

на 3.1.1 работает!

дело в том, что input() читает как sys.stdin.read (т. е. весь файл)… sys.stdin.readline - строку (а нам это и надо!)
mipan
Здравствуйте.
Возникла аналогичная проблема, но есть некоторое уточнение

Данный код возможно запустить, если прописать
C:\>python31\python c:\sum2.py<sum2.dat
Но не работает, если
C:\>sum2.py<sum2.dat
при этом сам файл sum2.py последним способом, естественно, запускается.

стоит только Python 3.1

Могу сделать вывод, что это моя и автора темы неправильная работа с командной строкой.
Хотелось бы разобраться в чем.

Спасибо заранее

оригинальные файлы из книги выложил по ссылкам - http://ifolder.ru/17565399
http://ifolder.ru/17565405
elcamino
Решил проблему с RuntimeError: input(): lost sys.stdin в питоне 31.
Вобщем по какой-то причине если запускать прогу так:
D:\>program.py < text.txt
то пишет ошибку RuntimeError: input(): lost sys.stdin, а если выводить в файл то все ок.
А если запускать прогу так:
D:\>C:\pythin31\python.exe program.py < text.txt
то все прокатывает и пример из книги работает.
Desmount
elcamino
Вобщем по какой-то причине если запускать прогу так:
Код:

D:\>program.py < text.txt
то пишет ошибку RuntimeError: input(): lost sys.stdin, а если выводить в файл то все ок.
А если запускать прогу так:
Код:

D:\>C:\pythin31\python.exe program.py < text.txt
то все прокатывает и пример из книги работает.
кто-нибудь может объяснить почему так происходит?
koxt
Старый баг с перенаправлением потоков в версиях Windows


В командной строке необходимо явно указывать интерпретатор:
python foo.py < bar
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB