在执行之前:os.read(fd,1024)
我想检查是否会有输出,而不是挂起直到收到输出。由于 fd 是一个 int 对象,我不能这样做:
os.fstat(f.fileno()).st_size
如果我可以获得大小,我可以检查它是否不是 0。
抱歉,如果这真的很简单,我是 python 新手。
最佳答案
使用select.select
。 (在Windows中,只能使用socket):
import select
...
r, _, _ = select.select([fd], [], [], 0)
if r:
data = os.read(fd, 1024)
关于python - 如何确定是否可以使用 os.read(fd,[buffer[) 读取 fd 而不会挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20455311/