Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 15, 2010 19:46:42

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

Выполнение команды и время

Кто подскажет как реализовать следующую задачу:

нужно ждать ввода параметра с клавиатуры 1 минуту, если ничего не введено, то завершить программу (это упрощенная версия :) )



Офлайн

#2 Апрель 15, 2010 20:12:55

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

Выполнение команды и время

Может потоки (threads)?



Офлайн

#3 Апрель 15, 2010 22:01:06

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Выполнение команды и время

Если у вас *NIX, то смотрите в сторону select: http://docs.python.org/library/select.html?highlight=select#module-select



Офлайн

#4 Апрель 16, 2010 00:26:08

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Выполнение команды и время

вот так можно через select

# coding: utf8

import select
import sys

loop = True

input = [ sys.stdin ]

r,w,e = select.select(input, [], [], 10)
for op in r:
if op == sys.stdin:
print ':',op.readline().rstrip()
print 'work'
print 'end'

Офлайн

#5 Апрель 16, 2010 15:14:00

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Выполнение команды и время

Как-то много букв у вас получилось. Вот покороче слегка:

if select.select([sys.stdin], [], [], 60)[0]:
result = raw_input()
else:
print 'timeout expired'



Офлайн

#6 Апрель 16, 2010 15:37:50

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Выполнение команды и время

Ed
Как-то много букв у вас получилось. Вот покороче слегка:
это я из исходника выдрал, есть лишнее

Офлайн

#7 Апрель 20, 2010 14:55:31

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

Выполнение команды и время

Всем спасибо!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version