Я недавно работал с python и не уверен в asyncio. Программа запрашивает URL-адрес, затем анализирует тег для каждой страницы и, наконец, записывает его в локальный файл. Программа использует библиотеку aiofile для записи тегов в файл. Я читал, что aiofile позволяет создавать асинхронный файл и использовать его методы, такие как сопрограммы. Означает ли это, что пока я записываю свои теги в локальный файл в фоновом режиме, я могу продолжать выполнять другие задачи (например, запрашивать другие URL-адреса и анализировать те, которые были получены), не дожидаясь, пока все теги будут записаны в локальный файл?
Вот часть кода:
async def fetch():
async def parse():
async def write_one(file: IO, url: str, **kwargs) -> None:
"""Write the found HREFs from `url` to `file`."""
res = await parse(url=url, **kwargs)
if not res:
return None
async with aiofiles.open(file, "a") as f:
for p in res:
await f.write(f"{url}\t{p}\n")
logger.info("Wrote results for source URL: %s", url)