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
Built Distributions
File details
Details for the file aiofile-1.2.1.tar.gz
.
File metadata
- Download URL: aiofile-1.2.1.tar.gz
- Upload date:
- Size: 75.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2134cabed0d65aa2ccde5e3cfbb25ec66471a98e8a125e6be3345d6f51b6d1d8 |
|
MD5 | ac14af05c82e5602573bd5d726f3d0c6 |
|
BLAKE2b-256 | d303b65ce7b1f3de824c8369a9a8b516cc2abfe2fdc1d08689f70a9d96db6af4 |
File details
Details for the file aiofile-1.2.1-cp36-cp36m-manylinux1_x86_64.whl
.
File metadata
- Download URL: aiofile-1.2.1-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 183.8 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d82475dd0fbc795208b25248fdfc6437df0d9c64727240cb2ca12ca18b17c91a |
|
MD5 | 3c31c0382142e8938628470aa1c517ff |
|
BLAKE2b-256 | d4a6f37c12d085fda0bef4a6d4c60c224ea6232e0013ddfe83b7d8dacc9cfb35 |
File details
Details for the file aiofile-1.2.1-cp36-cp36m-macosx_10_6_intel.whl
.
File metadata
- Download URL: aiofile-1.2.1-cp36-cp36m-macosx_10_6_intel.whl
- Upload date:
- Size: 97.9 kB
- Tags: CPython 3.6m, macOS 10.6+ intel
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5e1e3a6bfb79ec681898447cccad79d59b112294053c3e59579c932f08bf6e7 |
|
MD5 | a6f516e559abcf1d4cb4a62fb725b450 |
|
BLAKE2b-256 | f766d428278432c51e16152ee09ff5d900dbab03e6f54d07f786d5aa75c81831 |
File details
Details for the file aiofile-1.2.1-cp35-cp35m-manylinux1_x86_64.whl
.
File metadata
- Download URL: aiofile-1.2.1-cp35-cp35m-manylinux1_x86_64.whl
- Upload date:
- Size: 184.5 kB
- Tags: CPython 3.5m
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d5fda6d816819c1e61e6100749d9690aed0e1895fd9eca9858fc2c2d8c21542 |
|
MD5 | f66ee98704b0be9d1fca4247a8773247 |
|
BLAKE2b-256 | 18e582353dc4022d859b280d3afa5417a6067915b9de57e64c5801dfda36c7d1 |
File details
Details for the file aiofile-1.2.1-cp35-cp35m-macosx_10_6_intel.whl
.
File metadata
- Download URL: aiofile-1.2.1-cp35-cp35m-macosx_10_6_intel.whl
- Upload date:
- Size: 96.7 kB
- Tags: CPython 3.5m, macOS 10.6+ intel
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcc55b5603f6773d10562a3b0a47a60f80347fe5fe4a3b550cef2acb1670b05a |
|
MD5 | 7f918343414652b3a650f957d2e98987 |
|
BLAKE2b-256 | be0abdb3d36fa9e5b3daf881ddf3481a7d8b3791c53f8caa38c5cdfa525e825c |
File details
Details for the file aiofile-1.2.1-cp34-cp34m-manylinux1_x86_64.whl
.
File metadata
- Download URL: aiofile-1.2.1-cp34-cp34m-manylinux1_x86_64.whl
- Upload date:
- Size: 189.7 kB
- Tags: CPython 3.4m
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79e2ffc431c8572b63d81d9a94ee52a109c0f92210b0baade691c468c190aea5 |
|
MD5 | 859b041bf12e6209007fde1ced28a5f2 |
|
BLAKE2b-256 | 410e942bfcbb8ec60441e49dbe350f6557d6ccb33b34809a18001cca28826ab1 |
File details
Details for the file aiofile-1.2.1-cp34-cp34m-macosx_10_6_intel.whl
.
File metadata
- Download URL: aiofile-1.2.1-cp34-cp34m-macosx_10_6_intel.whl
- Upload date:
- Size: 97.0 kB
- Tags: CPython 3.4m, macOS 10.6+ intel
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 508550ead9ffff0d8a71d06a2bdee855d0066666c73480cf2cde33b1a7e9a83e |
|
MD5 | c886b11c8764879318fbb0aca0421403 |
|
BLAKE2b-256 | 08aff4778a44299ab0f6fa348ed3974fd3ae174107d9f277b8d645e52675f75c |