Python's str.strip([chars])
удалит начальное и конечное значение chars
, но остановится, как только достигнет символа, не входящего в chars
.
Похоже, что link
заканчиваетсясимвол новой строки, и зачистка останавливается, даже не достигнув двойной кавычки.(Подсказка: print
добавляет только одну новую строку, и в вашем выводе у вас есть две.)
Чтобы удалить двойные кавычки и символы новой строки:
link1 = link.strip('"\n')
Также стоит упомянуть (как@glibdud отмечает в комментариях), причина, по которой ссылки заканчивались символом новой строки, заключалась в том, что файловый итератор не удаляет символы новой строки, равно как и выражение sub
(поскольку .
не включает символ новой строки; чтобы включить его, добавьте re.DOTALL
флаг регулярного выражения).