Python aiofile在后台读写是否可以避免阻塞正在执行的线程?
我最近使用过python,对asyncio不太确定。程序请求一个url,然后解析每个页面的标记,最后将其写入本地文件。程序使用aiofile库将标记写入文件。我读到,aiofile允许创建一个异步文件,并使用它的方法,如协程。这是否意味着,当我在后台将标记写入本地文件时,我可以继续执行其他任务(如请求其他URL并解析已获取的URL),而无需等待所有标记写入本地文件 以下是代码的一部分:Python aiofile在后台读写是否可以避免阻塞正在执行的线程?,python,file,aiohttp,Python,File,Aiohttp,我最近使用过python,对asyncio不太确定。程序请求一个url,然后解析每个页面的标记,最后将其写入本地文件。程序使用aiofile库将标记写入文件。我读到,aiofile允许创建一个异步文件,并使用它的方法,如协程。这是否意味着,当我在后台将标记写入本地文件时,我可以继续执行其他任务(如请求其他URL并解析已获取的URL),而无需等待所有标记写入本地文件 以下是代码的一部分: async def fetch(): async def parse(): async def write_
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)