在 Python 中,如何检查 sys.stdin
是否有数据?
我发现 os.isatty(0)
不仅可以检查 stdin 是否连接到 TTY 设备,还可以检查是否有可用数据。
但是如果有人使用诸如
sys.stdin = cStringIO.StringIO("ddd")
在使用
os.isatty(0)
之后,它仍然返回 True。我需要做什么来检查 stdin 是否有数据? 最佳答案
在 Unix 系统上,您可以执行以下操作:
import sys
import select
if select.select([sys.stdin,],[],[],0.0)[0]:
print "Have data!"
else:
print "No data"
在 Windows 上, select 模块只能与套接字一起使用,因此您需要使用替代机制。
关于python - 如何检查 stdin 是否有一些数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3762881/