async def aio_download(img_url, img_name):
async with aiohttp.ClientSession() as session:
async with session.get(img_url) as resp:
async with aiofiles.open('img/' + img_name, mode='ab') as f:
await f.write(resp.read())
print(img_name, "下載完畢!")
剛開始的下載代碼是這個樣子的,但是程序運行的時候一直報錯TypeError,我一直以為是代碼里f.write(resp.read())的輸入的類型不對,到處找,最后發現是少了一個await的問題最終的代碼如下:
async def aio_download(img_url, img_name):
async with aiohttp.ClientSession() as session:
async with session.get(img_url) as resp:
async with aiofiles.open('img/' + img_name, mode='ab') as f:
img = await resp.read()
await f.write(img)
print(img_name, "下載完畢!")