【发布时间】:2015-09-10 18:23:40
【问题描述】:
我需要读取二进制数据结构,因为它们被刷新到 Windows 中的文件中。我无法控制写入数据的程序,它是一个黑盒 LP 模型,总是写入一些硬编码的文件名,但我知道它会定期刷新它的输出。我想一次从多个文件中读取这些数据。为每个文件分叉一个线程没有问题,但是如果我可以使用 read(n) 并让它阻塞直到它读取 整个 n 个字节或 readinto( d) 让它阻塞直到缓冲区满。这可以在 Windows 上的 Python 中实现吗?
我很难找到这个,因为所有人都在谈论非阻塞以及如何做到这一点。但是通过这个解决方案,我打算让孩子阻止并通过队列将数据报告给不阻止的父母。
如果没有办法获得阻塞读取,有没有办法避免忙等待或睡眠()?
【问题讨论】:
标签: python python-3.x io binaryfiles blocking