1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
# aioshutil: Asynchronous shutil module.
[](https://pepy.tech/project/aioshutil)   
# Introduction
`aioshutil` is a Python library which provides asynchronous version of function of shutil module. `shutil` module is blocking and using it in asyncio applications will block the event loop and slow down the application, `aioshutil` provides asynchronous friendly versions of the functions of the `shutil` module as it performs blocking io in a thread pool.
# Installation
```console
$ pip install aioshutil
```
# Usage
The API of `aioshutil` module is same as `shutil` module except that it is asynchronous.
```python
from aioshutil import rmtree
await rmtree("/tmp")
```
`aioshutil` provides the following functions:
- `copyfileobj`
- `copyfile`
- `copymode`
- `copystat`
- `copy`
- `copy2`
- `copytree`
- `move`
- `rmtree`
- `make_archive`
- `get_archive_formats`
- `register_archive_format`
- `unregister_archive_format`
- `get_unpack_formats`
- `register_unpack_format`
- `unregister_unpack_format`
- `unpack_archive`
- `ignore_patterns`
- `chown`
- `which`
- `get_terminal_size`
`aioshutil` provides the following exceptions for consistency with `shutil` module:
- `Error`
- `SpecialFileError`
- `ExecError`
- `SameFileError`
|