如何确定是否可以使用os.read读取fd(fd,[buffer [)而不挂?

时间:2013-12-08 15:45:17

标签: python

在做之前:os.read(fd,1024)我想检查是否会有输出而不是挂起,直到输出它为止。由于fd是一个int对象,我不能这样做:

os.fstat(f.fileno()).st_size

如果我能得到这个尺寸,我可以检查它是不是0.

很抱歉,如果这很简单,我是python的新手。

1 个答案:

答案 0 :(得分:2)

使用select.select。 (在Windows中,你只能使用套接字):

import select

...

r, _, _ = select.select([fd], [], [], 0)
if r:
    data = os.read(fd, 1024)