asyncio是否支持文件操作的异步I / O?

时间:2016-01-09 23:01:51

标签: python python-3.x python-asyncio python-3.5

asyncio是否支持文件操作的异步I / O?如果是,我如何在Python 3.5中使用async / await语法代码?

3 个答案:

答案 0 :(得分:17)

大多数操作系统不支持异步文件操作。 这就是asyncio也不支持它们的原因。

有关详细说明,请参阅the asyncio wiki

答案 1 :(得分:7)

这取决于您使用的库。

curio提供此功能https://curio.readthedocs.io/en/latest/reference.html#module-curio.file

普通asyncio没有,但有第三方库,例如https://github.com/Tinche/aiofiles(这是线程中隔离的真正同步文件访问)

现代操作系统确实提供了异步文件原语,但这些原语是多种多样的,因此每个都需要自己的实现。请比较:

我怀疑有人会很快从node.js中删除基础异步io并制作一个不错的Python库,或者可能已有人。

答案 2 :(得分:6)

asyncio不支持此功能。但是,aiofiles支持这一点。请看看。