Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206578
  • 博文数量: 32
  • 博客积分: 3319
  • 博客等级: 中校
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-26 21:40
文章分类

全部博文(32)

文章存档

2010年(31)

2009年(1)

分类: Python/Ruby

2010-01-15 23:03:29

今天从Gary Robinson的博客看到的,设置raw_input输入的超时时间,觉得挺实用的。代码如下:

#!/usr/bin/env python

import signal

class AlarmException(Exception):
    pass
    
def alarmHandler(signum, frame):
    raise AlarmException

def nonBockingRawInput(prompt='', timeout=20):
    signal.signal(signal.SIGALRM, alarmHandler)
    signal.alarm(timeout)
    try:
        text = raw_input(prompt)
        signal.alarm(0)
        return text
    except AlarmException:
        print 'Prompt timeout. Continuing...'
    signal.signal(signal.SIGALRM, signal.SIG_IGN)

    return ''


阅读(1612) | 评论(1) | 转发(0) |
0

上一篇:终端着色备忘

下一篇:telnet到163邮箱发信

给主人留下些什么吧!~~

xtdumpling2012-07-03 13:38:34

*nix only