Asynchronous file operations.
Project description
Real asynchronous file operations with asyncio support.
Status
Development - Stable
Features
Code examples
Totally async read and write:
import asyncio
from aiofile import AIOFile, Reader, Writer
async def main(loop):
aio_file = await AIOFile("/tmp/hello.txt", 'w+', loop=loop)
await aio_file.write(b"Hello ")
await aio_file.write(b"world", offset=7)
await aio_file.fsync()
print(await aio_file.read())
loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
Write and read with helpers:
import asyncio
from aiofile import AIOFile, Reader, Writer
async def main(loop):
aio_file = await AIOFile("/tmp/hello.txt", 'w+', loop=loop)
writer = Writer(aio_file)
reader = Reader(aio_file, chunk_size=8)
await writer(b"Hello")
await writer(b" ")
await writer(b"World")
await aio_file.flush()
async for chunk in reader:
print(chunk)
loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
or use async context manager:
import asyncio
from aiofile import AIOFile, Reader, Writer
async def main(loop):
async with AIOFile("/tmp/hello.txt", 'w+', loop=loop) as aio_file:
writer = Writer(aio_file)
reader = Reader(aio_file, chunk_size=8)
await writer(b"Hello")
await writer(b" ")
await writer(b"World")
await aio_file.flush()
async for chunk in reader:
print(chunk)
loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiofile-1.2.0.tar.gz
(74.9 kB
view hashes)
Built Distributions
Close
Hashes for aiofile-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6561c9e074617549afd3ac2cd13fd9fe5b1bdd8b7841b874a17dfb4f4416f02 |
|
MD5 | 42d844a22e8a8a11d3d2d180329874b1 |
|
BLAKE2b-256 | a2fa07c795d34cd6b371f872fca55758f20370f793c4b199aa884f52bc84f369 |
Close
Hashes for aiofile-1.2.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98d72c999423fbf8231127d18ad4fadd8c434715731c2bb48555bbbfa79ae2c7 |
|
MD5 | 88affc04ec04499f69d9df4c518a2756 |
|
BLAKE2b-256 | 00c1b6ade812646b1ef7d1ffc2d660f840d892b53366e61a951e49bdb42d93bf |
Close
Hashes for aiofile-1.2.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f78519b2e5d03dc6a6ffdc352b565cb8391ddc78a2a4cf519fd182ea2ce64c0 |
|
MD5 | a247dac5d804e2f7a9ada89393f2e5b9 |
|
BLAKE2b-256 | 16e800edeb297ad22b1c2f1f564102fddca804d5524eae277164637637573ca3 |
Close
Hashes for aiofile-1.2.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33f1d807bbe5b6147c562e70e0921c1fd3797f092294e77090e7b2033f4fd824 |
|
MD5 | 002d559e3fba25a2177a8e2bc295c5ab |
|
BLAKE2b-256 | f0aa50e3aa65d54cf278e95babe37dcd0fe457ec28afe10aa850f3c5644ffe85 |
Close
Hashes for aiofile-1.2.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e470a305014ad591d432e561b625a173a6c4bfb6061a5338ba0cd23b92f9d64 |
|
MD5 | f67c456c06d295854db6736bade81beb |
|
BLAKE2b-256 | e49a6238fd0128e50e5adb653a6612bbdf84b5d31e84e87cc1d443119eadd623 |
Close
Hashes for aiofile-1.2.0-cp34-cp34m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cb2821473909c58ca630ff558c2b94123bab6ec6f45f6cf8935733cae53a28e |
|
MD5 | 2900766dac9adfd4808391fd73617a5a |
|
BLAKE2b-256 | 86bd6ba40a0ca7be47e056bf441b5182e259abb6707bc3319732d1e39e3cf40b |