Cth*_*zzz 29 python python-3.x python-asyncio python-3.5
asyncio是否支持文件操作的异步I/O?如果是,我如何在Python 3.5中使用async/await语法代码?
And*_*lov 19
大多数操作系统不支持异步文件操作.这就是为什么asyncio不支持他们.
有关进一步说明,请参阅asyncio wiki.
Dim*_*nek 11
这取决于您使用的库.
curio提供此功能,https://curio.readthedocs.io/en/latest/reference.html#module-curio.file
plain asyncio没有,但是有第三方库,例如https://github.com/Tinche/aiofiles(这是在线程中隔离的真正同步文件访问)
现代操作系统确实提供了异步文件原语,但这些原语是多种多样的,因此每个都需要自己的实现.请比较:
我怀疑有人会很快从基础异步io中删除node.js并创建一个不错的Python库,或者也许已经有人.
根据 Python 3.9,这可以通过 asyncio 来完成。 https://docs.python.org/3.9/library/asyncio-task.html#asyncio.to_thread
await asyncio.to_thread(shutil.copyfile, "a", "b")
Run Code Online (Sandbox Code Playgroud)