Запись множества массивов в один .txt файл

Получаю информацию в виде массивов При попытке записать это все в файл, записывается лишь один из массивов

import re
import requests
from bs4 import BeautifulSoup as bs



url = 'https://www.proxyscan.io/'

def col(url):
   req = requests.get(url)
   soup = bs(req.text, 'html.parser')
   result = soup.find_all('tr')
   for i in result:
      result = re.findall('\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}', i.text)
      
      for i in result:
         with open('file.txt', 'w') as file:
            file.write(result, file)


col(url)

Ответы (1 шт):

Автор решения: passant
for i in result:
         with open('file.txt', 'w') as file:
            file.write(regx, file)

Каждый раз, на каждой из иттераций цикла вы открываете один и тот-же файл 'file.txt' а затем ПЕРЕЗАТИРАЕТЕ все, что в нем было до того, задав метод записи 'w'. Измените 'w' на 'a' и будет вам счастье.

P.S. По ходу даже не стал разбираться, зачем вы каждый раз открываете файл по-новой. Почему ельзя его открыть его один раз и писать туда все что вам надо, а закрыть его в самом конце. Но вы об анализе кода не спрашивали - поэтому даю наводку. А далее думайте сами.

P.P.S. Еще раз взглянул на код. Два вложенных цикла for, в каждом из них в качестве переменной цикла используется переменная i. Это жах. Может начать с чтения учебника все таки?

→ Ссылка