web-dev-qa-db-ja.com

asyncioはファイル操作の非同期I / Oをサポートしていますか?

Asyncioはファイル操作の非同期I/Oをサポートしていますか?はいの場合、Python 3.5 async/await構文コードでこれを使用するにはどうすればよいですか?

28
CthUlhUzzz

ほとんどのオペレーティングシステムは、非同期ファイル操作をサポートしていません。 asyncioもそれらをサポートしない理由です。

詳細については、 asyncio wiki を参照してください。

18
Andrew Svetlov

それは使用するライブラリに依存します。

curioはこの機能を提供します https://curio.readthedocs.io/en/latest/reference.html#module-curio.file

plain asyncioはありませんが、サードパーティのライブラリがあります。 https://github.com/Tinche/aiofiles (これは実際にはスレッドで分離された同期ファイルアクセスです)

最新のオペレーティングシステムは非同期ファイルプリミティブを提供しますが、これらはさまざまであるため、それぞれ独自の実装が必要になります。比較してください:

誰かがすぐに基になる非同期ioをnode.jsと適切なPythonライブラリ、またはおそらく誰かが既に持っているライブラリを作成します。

9
Dima Tisnek

asyncioはこれをサポートしていません。ただし、 aiofiles はこれだけをサポートします。ご覧ください。

7
Z. Qui