Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 13, 2010 12:13:04

mikdmgo
От:
Зарегистрирован: 2010-04-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

RuntimeError: input(): lost sys.stdin

вот альтернатива:

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

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

дело в том, что input() читает как sys.stdin.read (т. е. весь файл)… sys.stdin.readline - строку (а нам это и надо!)



Отредактировано (Апрель 13, 2010 12:18:37)

Офлайн

#2 Май 4, 2010 08:46:01

mipan
От:
Зарегистрирован: 2010-05-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

RuntimeError: input(): lost sys.stdin

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

Данный код возможно запустить, если прописать

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



Отредактировано (Май 4, 2010 08:48:14)

Офлайн

#3 Ноя. 21, 2010 11:38:37

elcamino
От:
Зарегистрирован: 2009-11-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

RuntimeError: input(): lost sys.stdin

Решил проблему с 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
то все прокатывает и пример из книги работает.



Отредактировано (Ноя. 21, 2010 11:39:22)

Офлайн

#4 Фев. 24, 2011 20:48:08

Desmount
От:
Зарегистрирован: 2011-02-12
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

RuntimeError: input(): lost sys.stdin

elcamino
Вобщем по какой-то причине если запускать прогу так:
Код:

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

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



Офлайн

#5 Март 28, 2011 22:53:38

koxt
От:
Зарегистрирован: 2011-03-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

RuntimeError: input(): lost sys.stdin

Старый баг с перенаправлением потоков в версиях Windows


В командной строке необходимо явно указывать интерпретатор:

python foo.py < bar



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version