Back to questions
Вкусно и точка
Junior — Middle
57
Каким образом вы реализуете синхронное и асинхронное выполнение операций ввода-вывода в своих проектах?
Companies where asked
Answer from AI
sobes.tech AI
Для синхронного выполнения операций ввода-вывода в Python обычно используют стандартные блокирующие вызовы, например, чтение или запись файлов через обычные функции.
Для асинхронного выполнения применяю модуль asyncio, который позволяет запускать неблокирующие операции ввода-вывода, используя ключевые слова async и await.
Пример асинхронного чтения файла:
import asyncio
async def read_file_async(path):
loop = asyncio.get_event_loop()
with open(path, 'r') as f:
data = await loop.run_in_executor(None, f.read)
return data
async def main():
content = await read_file_async('example.txt')
print(content)
asyncio.run(main())
Для сетевых операций часто использую библиотеки, поддерживающие асинхронность, например aiohttp.
Таким образом, выбор между синхронным и асинхронным подходом зависит от требований к производительности и архитектуре проекта.