Asyn c для l oop через Asyncio в Python - PullRequest
0 голосов
/ 29 мая 2020

У меня есть короткий код, созданный с помощью for l oop для перебора списка URL-адресов изображений и загрузки / сохранения файлов. Этот код работает нормально, но список URL-адресов слишком велик, и на выполнение одной проверки за раз потребуется вечность.

Моя цель - сделать это асинхронным для l oop в надежде, что это ускорит работу сильно, но я только начал писать python, чтобы построить это, и не знаю достаточно, чтобы использовать библиотеку Asyncio - не могу построить итерации через aiter . Как я могу запустить это?

Подводя итог: у меня есть for l oop, и мне нужно сделать его асинхронным, чтобы он мог обрабатывать несколько итераций одновременно (установка ограничения на количество циклов asyn c тоже была бы замечательной).

import pandas as pd
import requests
import asyncio

df = pd.read_excel(r'filelocation', sheet_name='Sheet2')


for index, row in df.iterrows():
    url = row[0]
    filename = url.split('/')[-1]
    r = requests.get(url, allow_redirects=False)
    open('filelocation' + filename, 'wb').write(r.content)
    r.close()
...