Асинхронная обработка файлов с использованием aiofiles
Cтандартные операции с файлами блокируют выполнение программы. В асинхронном мире это неприемлемо. На помощь приходит библиотека
Эти базовые функции аналогичны синхронным версиям, но с ключевыми словами
При массовой асинхронной записи я столкнулся с проблемой перегрузки диска. Решение - добавить семафор для ограничения количества одновременных операций (смотри метод controlled_file_processing)
#theory // Just Python
Cтандартные операции с файлами блокируют выполнение программы. В асинхронном мире это неприемлемо. На помощь приходит библиотека
aiofiles, которая предоставляет асинхронный интерфейс для операций ввода-вывода.Эти базовые функции аналогичны синхронным версиям, но с ключевыми словами
async/await. Однако реальная мощь проявляется при параллельной обработке множества файлов (смотри метод process_multiple_files)При массовой асинхронной записи я столкнулся с проблемой перегрузки диска. Решение - добавить семафор для ограничения количества одновременных операций (смотри метод controlled_file_processing)
#theory // Just Python
Работа с CSV файлами
CSV - один из самых распространенных форматов для обмена данными
Использование связки
#theory // Just Python
CSV - один из самых распространенных форматов для обмена данными
Использование связки
csv.DictReader и csv.DictWriter превращает каждую строчку таблицы в удобный Python-словарь, избавляя от ручного разбора индексов, а обязательный аргумент newline='' намертво защищает ваши файлы от появления пустых строк при переносе кода между Windows и Linux.#theory // Just Python