Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python aiofile在后台读写是否可以避免阻塞正在执行的线程?_Python_File_Aiohttp - Fatal编程技术网

Python aiofile在后台读写是否可以避免阻塞正在执行的线程?

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

我最近使用过python,对asyncio不太确定。程序请求一个url,然后解析每个页面的标记,最后将其写入本地文件。程序使用aiofile库将标记写入文件。我读到,aiofile允许创建一个异步文件,并使用它的方法,如协程。这是否意味着,当我在后台将标记写入本地文件时,我可以继续执行其他任务(如请求其他URL并解析已获取的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)