текст накладывается сам на себя

У меня при загрузке строк в тхт,они накладываются друг на друга,из за этого в тхт отображается только последний пароль Вопрос, как можно сделать так что бы каждый вариант который генерируется программной был в отдельной строке Заранее спасибо за ответ!

A = "0123456789QWERTYUIOPASDFGHJKLZXCVBNM1234567890-=\.,/qwertyuiopasdfghjklzxcvbnm,.;["
base = len(A)
n = 0
l = 0

while True:
  password = ""
  temp = n
  while len(password) < 1:
    rest = temp % 82
    temp =temp // 82
    password = A[rest] + password
  print(n, password)
  F = open("txt","w")
  for i in password:
    F.write(str(n)+ password + '\n')
    F.close
  
  
  if password == A[-1]*1:
    l += 1
    n = 0

  else:
    n += 1
    time.sleep(1)

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

Автор решения: Mark_ Pro_100
import time

A = "0123456789QWERTYUIOPASDFGHJKLZXCVBNM1234567890-=\.,/qwertyuiopasdfghjklzxcvbnm,.;["
base = len(A)
n = 0
l = 0

while True:
  password = ""
  temp = n
  while len(password) < 1:
    rest = temp % 82
    temp =temp // 82
    password = A[rest] + password
  print(n, password)
  F = open("txt","a")
  for i in password:
    F.write(str(n)+ password + '\n')
    F.close
  
  if password == A[-1]*1:
    l += 1
    n = 0
  else:
    n += 1
    time.sleep(1)
→ Ссылка
Автор решения: nasiA

Эту строку F = open("txt","w") изменить на F = open("txt","a")

Второй аргумент (w или a) определяет способ открытия файла.

w - только запись. Полностью очищает документ и записывает новые данные;

a - чтение и запись. Открывает документ, не очищая его. Новые данные добавляются после старых.

→ Ссылка
Автор решения: CrazyElf
  F = open("txt","w")
  for i in password:
    F.write(str(n)+ password + '\n')
    F.close

У вас сразу три ошибки в этом коротком коде:

  • файл перезаписывается на каждой итерации цикла while, используйте режим добавления в файл 'a' вместо простой записи 'w'
  • цикл по буквам password вам не нужен, вы же записываете password сразу целиком
  • вы закрываете файл на каждой итерации цикла записи, это приведёт к ошибке "попытка записи в закрытый файл"

Таким образом, лучше использовать такой код и не закрывать файл вручную, за вас это сделает менеджер контекста:

  with open("txt","a") as f:
    f.write(str(n)+ password + '\n')
→ Ссылка