适用于Linux、MacOS或Windows的异步文件I/O。
项目描述
Python包装器用于AIO
注意: 本地Linux aio实现自4.18内核版本起支持。
Linux AIO API的Python绑定和简单的asyncio包装器。
示例
import asyncio
from caio import AsyncioContext
loop = asyncio.get_event_loop()
async def main():
# max_requests=128 by default
ctx = AsyncioContext(max_requests=128)
with open("test.file", "wb+") as fp:
fd = fp.fileno()
# Execute one write operation
await ctx.write(b"Hello world", fd, offset=0)
# Execute one read operation
print(await ctx.read(32, fd, offset=0))
# Execute one fdsync operation
await ctx.fdsync(fd)
op1 = ctx.write(b"Hello from ", fd, offset=0)
op2 = ctx.write(b"async world", fd, offset=11)
await asyncio.gather(op1, op2)
print(await ctx.read(32, fd, offset=0))
# Hello from async world
loop.run_until_complete(main())
故障排除
linux
实现在现代Linux内核版本和文件系统中工作正常。因此,您可能遇到特定于您环境的问题。这不是错误,可能可以通过一些方法解决
- 升级内核
- 使用兼容的文件系统
- 使用基于线程或纯Python的实现。
自0.7.0版本以来,caio包含了一些实现此功能的方法。
- 在运行时,使用环境变量
CAIO_IMPL
并具有可能的值linux
- 使用本机Linux内核aio机制thread
- 使用C编写的基于线程的实现python
- 使用纯Python实现
- 文件
default_implementation
位于caio安装路径中的__init__.py
附近。这对于发行版包维护者很有用。此文件可能包含注释(以#
符号开始的行)和第一行应该是linux
、thread
或python
之一。
旧版本允许直接导入目标实现。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
caio-0.9.17.tar.gz (25.0 kB 查看哈希值)
构建分布
caio-0.9.17-py3-none-any.whl (19.1 kB 查看哈希值)
关闭
caio-0.9.17.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8f30511526814d961aeef389ea6885273abe6c655f1e08abbadb95d12fdd9b4f |
|
MD5 | 37719f344efbf0743eb835ac7c2e33aa |
|
BLAKE2b-256 | 88cf59b868909a85ad9eca985ad5bbeb3c0a8cd435e50ae12def770d16911753 |
关闭
caio-0.9.17-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c55d4dc6b3a36f93237ecd6360e1c131c3808bc47d4191a130148a99b80bb311 |
|
MD5 | b746a2bed52c3ee5c59c967cecf09e61 |
|
BLAKE2b-256 | 58723f4895adb1d23b0ac1d8afc748405a2ad3c77d8d0f23b05a64ff583c11e5 |
关闭
caio-0.9.17-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3e320b0ea371c810359934f8e8fe81777c493cc5fb4d41de44277cbe7336e74 |
|
MD5 | b261932ac06547fb277d5e5d098776b6 |
|
BLAKE2b-256 | 80f55e993120daeb4ec084f5f84c118bbd48b65379f63ed56919bf224e0eab42 |
关闭
caio-0.9.17-cp312-cp312-macosx_10_9_universal2.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ddb253b145a53ecca76381677ce465bc5efeaecb6aaf493fac43ae79659f0fb |
|
MD5 | 5430673ece8e7b01e576de25196dd465 |
|
BLAKE2b-256 | c3b837dcee4bc4fae1701a86373a297bbca797f6b7bfe5f85993a11049649c63 |
关闭
caio-0.9.17-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 549caa51b475877fe32856a26fe937366ae7a1c23a9727005b441db9abb12bcc |
|
MD5 | 4fa7c59e2f105d1721b9a90811a79392 |
|
BLAKE2b-256 | 57e21d04e506a5fd735856f0bb95b4d03b800947bd43c98193ee57d37070a51e |
关闭
哈希值用于caio-0.9.17-cp311-cp311-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 079730a353bbde03796fab681e969472eace09ffbe5000e584868a7fe389ba6f |
|
MD5 | 71a9e993f967446156ae1f710538e24c |
|
BLAKE2b-256 | 5244a79c7004a9562a176d78437816c736c34ab9fb6233a4b8164eb25628a09c |
关闭
哈希值用于caio-0.9.17-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3028b746e9ec7f6d6ebb386a7fd8caf0eebed5d6e6b4f18c8ef25861934b1673 |
|
MD5 | 4c2a2c0d84885f0819a99037b05a34fb |
|
BLAKE2b-256 | bf3f0ae9f69deb3dc96b20bf084cc262b438a154d5de08a064628272713ff239 |
关闭
哈希值用于caio-0.9.17-cp310-cp310-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3f69395fdd45c115b2ef59732e3c8664722a2b51de2d6eedb3d354b2f5f3be3c |
|
MD5 | d46eeb9393f7caa2c57f8b571cb437fe |
|
BLAKE2b-256 | dbc317bc41b7c795d91d58ee7a70ad98e23f1ba0d50bdeadd82173bb02cddc8e |
关闭
哈希值用于caio-0.9.17-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 40bd0afbd3491d1e407bcf74e3a9e9cc67a7f290ed29518325194184d63cc2b6 |
|
MD5 | 17b417745eebd09c7a7b7324ac475767 |
|
BLAKE2b-256 | 7715d9410b3538e9454380469b43a4750f176ff543c17bba524fd25e55bf2054 |
关闭
哈希值用于caio-0.9.17-cp39-cp39-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fca916240597005d2b734f1442fa3c3cfb612bf46e0978b5232e5492a371de38 |
|
MD5 | 68bb52a0fb29b4fd9a5502f8aa94a1db |
|
BLAKE2b-256 | 00a23bfb94f7edaa4361ce62692e1bbd70355693cd45d96342eecf152862f6ae |
关闭
哈希值用于caio-0.9.17-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3e96925b9f15f43e6ef1d42a83edfd937eb11a984cb6ef7c10527e963595497 |
|
MD5 | 3fb7bf53cff1879bb45643060087ceac |
|
BLAKE2b-256 | 44eb313a36e1faa015a6ab76393b48f1f9bd56d9eaf79f650b5ddfad884d81f7 |
关闭
哈希值用于caio-0.9.17-cp38-cp38-macosx_11_0_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a39a49e279f82aa022f0786339d45d9550b5aa3e46eec7d08e0f351c503df0a5 |
|
MD5 | 7e84db9fc73407fbd369474b619b7f03 |
|
BLAKE2b-256 | 7580c54fb589cc6e00085656d9ff93d6a0e36f403648dbb38a300f237ba875ae |