我尝试使用python-nonblock实现简单的非阻塞读取。我写了以下代码(Python2.7,Mac OSX):
from nonblock import nonblock_read
import subprocess
import time
def goSleep():
print('Sleeping for a while! ...!')
time.sleep(20)
def processData(data):
print('This is my data ...!')
print(data)
def doSecondaryTask():
for i in range(1000):
print('Count: %s\n' % i)
time.sleep(3)
if __name__ == "__main__":
pipe = subprocess.Popen(['filetest.txt'], stdout=subprocess.PIPE)
while True:
data = nonblock_read(pipe.stdout)
if data is None:
# All data has been processed and subprocess closed stream
pipe.wait()
break
elif data:
# Some data has been read
processData(data)
else:
# No data is on buffer, but subprocess has not closed stream
goSleep()
# To prove that non-blocking read is working
doSecondaryTask()
不幸的是,我得到了以下错误:
^{pr2}$我不知道为什么我得到Permission denied
!我在谷歌上搜索了几页,但还是看不到问题所在。任何帮助都是非常感谢的。在
目前没有回答
相关问题 更多 >
编程相关推荐