asyncio是否支持文件操作的异步I/O?如果是,我如何在Python 3.5中使用async/await语法代码?
大多数操作系统不支持异步文件操作.这就是为什么asyncio
不支持他们.
有关进一步说明,请参阅asyncio wiki.
这取决于您使用的库.
curio
提供此功能,https://curio.readthedocs.io/en/latest/reference.html#module-curio.file
plain asyncio
没有,但是有第三方库,例如https://github.com/Tinche/aiofiles(这是在线程中隔离的真正同步文件访问)
现代操作系统确实提供了异步文件原语,但这些原语是多种多样的,因此每个都需要自己的实现.请比较:
http://man7.org/linux/man-pages/man7/aio.7.html
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365683(v=vs.85).aspx
https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/TechniquesforReadingandWritingCustomFiles/TechniquesforReadingandWritingCustomFiles.html
我怀疑有人会很快从基础异步io中删除node.js
并创建一个不错的Python库,或者也许已经有人.
asyncio不支持这个.但是, aiofiles支持这一点.请看一看.