python - 写端关闭后,为什么在 FIFO 中继续读?
问题描述
我有 2 个 python 程序。一种是读者
fifo_read=open('buffer','r')
while True:
data=fifo_read.read(1)
print('"',data,'"read from buffer')
另一个是作家
import time
fifo_write=open('./buffer','w')
while True:
fifo_write.write('a')
fifo_write.flush()
time.sleep(1)
我面临的问题是,一旦我用 Ctrl+C 终止写入器,读取器就会继续从 FIFO 中读取“”。出于我的目的,我希望读取器阻塞,直到另一个写入器在未来某个时间开始并开始写入 FIFO。但在这种情况下不会发生这种情况。
解决方案
推荐阅读
- php - php中的搜索栏结果故障排除
- postgresql - 是否可以为 slick-hikaricp 设置查询超时?
- javascript - 将变量从一个 ajax 调用发送到下一个
- java - CKEditor 4.3.3 拆分 base64 字符串以存储在不同的属性上
- database-design - 我可以将 3 个表之间的关系表示为一个联结表吗?
- javascript - 在服务器端模板引擎上使用 React 或 Vue
- javascript - 渲染 div 及其标题的地图
- android - Firebase UI 身份验证登录错误 api 异常
- python - 如果在 Python 中引发和处理异常,则测试用例失败?
- android - 如何安装插件 Android Drawable Importer