Этот вопрос закрыт для ответов, так как повторяет вопрос Почему не работает вложенный цикл for Python?
Xandr24
@Xandr24
учиться и еще раз учиться

Почему не работает вложенный цикл for Python?

Парни, честно не понимаю в чем проблема такого цикла!
quotes = []
for i in authors:
    sep = 'https://www.site.com/authors/'
    name_for_file = i.partition(sep)
    data_2 = requests.get(i).text
    soup_2 = BeautifulSoup(data_2, 'html.parser')
    path_author = f'/resources/Parsing/brainyquote.com/authors_quotes/{name_for_file[2]}.txt'
    for string in soup_2.select('[style="display: flex;justify-content: space-between"]'):
        print(string)
        quotes.append(string.text)
        with open(path_author, 'w') as writefile:
            for quote in quotes:
                writefile.write(quote)
    quotes.clear()

Сначала я протестировал одиночную запись в файл и все работает, запись файла осуществляется.
for string in soup_2.select('[style="display: flex;justify-content: space-between"]'):
    ...

Потом я обертываю данный код в цикл, в котором беру из списка authors каждого автора, генерирую ссылку на файл (каждую переменную я выводил и все без ошибок).
То есть часть кода до второго цикла робит
Второй цикл тоже работает отдельно
Но вместе не работают.
Подскажите пожалуйста что конкретно я не так сделал и как исправить?
Суть кода - беру ссылку из list, делаю на нее запрос, получаю контент, записываю контент в файл
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Вместо второго цикла что-то вроде:
with open(path_author, 'w') as writefile:
    writefile.write('\n'.join(quote))

Если это будет работать без присмотра, то обвесить проверками типов или лучше конкретными try/except.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы