Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 4

Как считать числа из stdin в Windows?

13.11.2013, 20:43. Показов 4392. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл sum2.dat. В нем записаны 4 числа:
Code
1
2
3
4
Программу вот так запускаю: hello.py < sum2.dat

Но сразу появляется ошибка:
Python
1
2
3
4
5
6
C:\Program Files\Python3.2\Projects>hello.py  0<sum2.dat
Type integers, each followed by Enter; or just Enter to finish
Traceback (most recent call last):
  File "C:\Program Files\Python3.2\Projects\hello.py", line 7, in <module>
    line = input()
RuntimeError: input(): lost sys.stdin

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
print("Type integers, each followed by Enter; or just Enter to finish")
 
sum = 0
count = 0
 
while True:
    line = input()
    
    if line:
        try:
            number = int(line)
            sum += number
            count += 1
        except ValueError as err:
            print(err)
            continue
        except EOFError:
            break
            
 
    else:
        break
        
if sum:
    print("count =", count, ", sum =", sum, ", mean =",sum/count)
Подскажите что неправильно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2013, 20:43
Ответы с готовыми решениями:

Как считать данные из STDIN напрямую?
Как считать данные из STDIN напрямую?

Как считать число из stdin для дальнейшего использования
Использую NASM под OCUNIX

Как считать из stdin текст, пока не будет нажато Ctrl+D
как считать из stdin текст, пока не будет нажато Ctrl+D?

7
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
13.11.2013, 21:47
Python
1
2
3
4
5
6
7
#!/usr/bin/env python3
 
while True:
    try:
        print('see', input())
    except EOFError:
        break
попробуй такой запустить
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 4
13.11.2013, 22:20  [ТС]
accept, теперь другая ошибка)
Python
1
2
3
4
5
Type integers, each followed by Enter; or just Enter to finish
Traceback (most recent call last):
  File "C:\Program Files\Python3.2\Projects\hello.py", line 9, in <module>
    line = input()
RuntimeError: input(): lost sys.stdin
Добавлено через 9 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
print("Type integers, each followed by Enter; or just Enter to finish")
 
sum = 0
count = 0
 
while True:
    # line = input()
    print('see', input())
    
    if line:
        try:
            number = int(line)
            sum += number
            count += 1
        except EOFError:
            break
        except ValueError as err:
            print(err)
            continue
    else:
        break
        
if sum:
    print("count =", count, ", sum =", sum, ", mean =",sum/count)

Python
1
2
3
4
5
6
C:\Program Files\Python3.2\Projects>hello.py  0<sum2.dat
Type integers, each followed by Enter; or just Enter to finish
Traceback (most recent call last):
  File "C:\Program Files\Python3.2\Projects\hello.py", line 10, in <module>
    print('see', input())
RuntimeError: input(): lost sys.stdin
0
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 4
13.11.2013, 22:21
Цитата Сообщение от Skate Посмотреть сообщение
Программу вот так запускаю: hello.py < sum2.dat
Попробуй так:
Code
1
python hello.py < sum2.dat
0
5 / 5 / 1
Регистрация: 29.05.2010
Сообщений: 13
13.11.2013, 22:26
Зачем так усложнять задачу?
Вот например:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from sys import argv
 
script, file_name = argv
text_01 = open(file_name)
 
numbers = []
for num in text_01:
    num = int(num)
    numbers.append(num)
 
sum = 0
for i in numbers:
    sum = sum + i
 
text_01.close()
print("Numbers from file %s: %r, Count: %d." % (file_name, numbers, sum))
Из командной строки, в папке где твоя программа:
Code
1
python <имя_программы>.py sum2.dat
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 4
13.11.2013, 22:27  [ТС]
atom7v, так тоже ошибка
Code
1
2
"python" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Завтра подумаю над этой задачей. Ошибка вроде связана в этой строчке lost sys.stdin. Только я не знаю что это такое
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
14.11.2013, 00:04
Цитата Сообщение от Skate Посмотреть сообщение
Цитата Сообщение от accept Посмотреть сообщение
попробуй такой запустить
теперь другая ошибка
у меня запускается
создай отдельный файл
0
5 / 5 / 1
Регистрация: 29.05.2010
Сообщений: 13
14.11.2013, 11:55
Python
1
2
3
4
5
6
7
8
9
10
import sys
numbers = []
sum_numbers = 0
 
for line in sys.stdin:
    numbers.append(int(line))
    sum_numbers += int(line)
 
print(numbers)
print(sum_numbers)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2013, 11:55
Помогаю со студенческими работами здесь

Считать данные с stdin и записать в массив
Мне нужно следующее: писать в поток stdin до тех пор, пока не будет нажата клавиша энтер, потом считать с потока по символу, так как в...

Как считать определённое количество цифр заданного числа (считать число до заданной цифры)?
как считать число 12345 до символа 5? То есть 1234 присвоить другой переменной?.:wall:

Считать числа в массив, отсортировать. Считать числа в список. Изменить порядок элементов
Добрый день, помогите пожалуйста решить такую задачу: 1)Считать числа в массив. Спросить у пользователя в каком порядке его отсортировать...

Записать из stdin в массив числа
У меня 2 вопроса: 1. Функция getchar() читает из потока символ и переводит внутренний указатель на следующий. Возможно ли считать...

Fflush(stdin) по-разному работают в unix и windows
Собственно, код: #include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main() { char word1, word2; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru