test_select.py

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 63 行

PY
63
字号
# Testing select modulefrom test_support import verboseimport selectimport os# test some known error conditionstry:    rfd, wfd, xfd = select.select(1, 2, 3)except TypeError:    passelse:    print 'expected TypeError exception not raised'class Nope:    passclass Almost:    def fileno(self):        return 'fileno'try:    rfd, wfd, xfd = select.select([Nope()], [], [])except TypeError:    passelse:    print 'expected TypeError exception not raised'try:    rfd, wfd, xfd = select.select([Almost()], [], [])except TypeError:    passelse:    print 'expected TypeError exception not raised'def test():    import sys    if sys.platform[:3] in ('win', 'mac', 'os2'):        if verbose:            print "Can't test select easily on", sys.platform        return    cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'    p = os.popen(cmd, 'r')    for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:        if verbose:            print 'timeout =', tout        rfd, wfd, xfd = select.select([p], [], [], tout)        if (rfd, wfd, xfd) == ([], [], []):            continue        if (rfd, wfd, xfd) == ([p], [], []):            line = p.readline()            if verbose:                print `line`            if not line:                if verbose:                    print 'EOF'                break            continue        print 'Unexpected return values from select():', rfd, wfd, xfd    p.close()test()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?