Check

Итератор по chunk'ам файла

Python Senior Авито 01.01.2025
Реализуйте класс `FileChunks`, который является итератором и итерируется по файлу кусками фиксированного размера в байтах. ```python chunks = FileChunks("data.bin", chunk_size=1024) for part in chunks: ... # part: bytes ```
Ответы
Решение 1
```python class FileChunks: def __init__(self, path: str, chunk_size: int = 1024): self.path = path self.chunk_size = chunk_size self._file = None def __iter__(self): self._file = open(self.path, "rb") return self def __next__(self) -> bytes: assert self._file is not None data = self._file.read(self.chunk_size) if not data: self._file.close() raise StopIteration return data ```