Задать вопрос
@daxak

Как пройтись по 2 спискам одновременно?

#
    data = []
    async with aiohttp.ClientSession() as session:
        if extensions:
            for directory in directories:
                response = await session.get(url=f"{url}/{directory}")
                data.append([f"{url}/{directory}", response.status, response.content_length])
                for extension in extensions:
                    response = await session.get(url=f"{url}/{directory}.{extension}")
                    data.append([f"{url}/{directory}.{extension}", response.status, response.content_length])
        else:
            for directory in directories:
                response = await session.get(url=f"{url}/{directory}")
                data.append([f"{url}/{directory}", response.status, response.content_length])


Как мне оптимизровать этот код? Получается повторение. Идея состоит в том, что если пользователь задает расширения для файлов, то запросы идут с расширениеми. А если нет, то без них
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dmshar
for directory in directories:
       response = await session.get(url=f"{url}/{directory}")
       data.append([f"{url}/{directory}", response.status, response.content_length])
if extensions:
        for extension in extensions:
                response = await session.get(url=f"{url}/{directory}.{extension}")
                data.append([f"{url}/{directory}.{extension}", response.status, response.content_length])
else:
        for directory in directories:
                response = await session.get(url=f"{url}/{directory}")
                data.append([f"{url}/{directory}", response.status, response.content_length])
Ответ написан
Комментировать
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Ну если в лоб, можно проверку на extension сделать внутри цикла по directories.
Если их не безумное количество и нет необходимости сэкономить микросекунды на каждом цикле, то пойдёт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы