Python(运行时错误:事件循环已关闭)asyncio&;异步问题

Python(运行时错误:事件循环已关闭)asyncio&;异步问题,python,python-asyncio,aiohttp,Python,Python Asyncio,Aiohttp,我发现很难理解为什么我的代码不起作用。我已在此处附上回溯: 在:回溯(最近一次调用上次):文件中忽略异常 “C:\Program Files\Python38\lib\asyncio\proactor\u events.py”,第116行, 在del中 self.close()文件“C:\Program Files\Python38\lib\asyncio\proactor\u events.py”,第108行,关闭 self.\u loop.call\u soon(self.\u call\u

我发现很难理解为什么我的代码不起作用。我已在此处附上回溯:

在:回溯(最近一次调用上次):文件中忽略异常 “C:\Program Files\Python38\lib\asyncio\proactor\u events.py”,第116行, 在del中 self.close()文件“C:\Program Files\Python38\lib\asyncio\proactor\u events.py”,第108行,关闭 self.\u loop.call\u soon(self.\u call\u connection\u lost,None)文件“C:\Program Files\Python38\lib\asyncio\base\u events.py”,第711行,in 快给你打电话 self.\u check\u closed()文件“C:\Program Files\Python38\lib\asyncio\base\u events.py”,第504行,在\u check\u closed中 raise RUNTIMERROR('事件循环已关闭')运行时错误:事件循环已关闭

以下是相应的代码:

import asyncio,random,re
import aiofiles
from aiohttp import ClientSession

Headers = {
    "User-Agent":
    "Mozilla/5.0 (Windows NT 6.1; rv:57.0) Gecko/20100101 Firefox/57.0"
}


async def fetch(url):
    try:
        async with ClientSession() as session:
            async with session.get(url,headers=Headers) as response:
                sa = []
                sip = await re.findall('((https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)', html)
                for i in sip:
                    o = i[0].split("/")
                    if (o[0] + '//' + o[2]) in sa:
                        pass
                    else:
                        sa.append(o[0] + '//' + o[2])
                        print('[>>]', (o[0] + '//' + o[2]))
                        async with aiofiles.open('result.txt', mode='a') as f:
                            await f.write((o[0] + '//' + o[2])+"\n")
                            pass
                return await response.read()
    except:
        pass
async def bound_fetch(sem, url):
    # Getter function with semaphore.
    async with sem:
          await fetch(url)



async def run():
    combo = "keys.txt"#input("Enter Combo : ")
    tasks = []

    Threads = 100#input("Enter Threads : ")
    sem = asyncio.Semaphore(int(Threads))
    async with aiofiles.open(combo, mode='r') as f:
        async for line in f:
            line = line.replace("\n","")
            task = asyncio.ensure_future(bound_fetch(sem, "https://www.bing.com/search?q={}&count=50&first=50".format(line)))
            tasks.append(task)
    await asyncio.gather(*tasks)


asyncio.run(run())