текст накладывается сам на себя
У меня при загрузке строк в тхт,они накладываются друг на друга,из за этого в тхт отображается только последний пароль Вопрос, как можно сделать так что бы каждый вариант который генерируется программной был в отдельной строке Заранее спасибо за ответ!
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 шт):
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)
Эту строку F = open("txt","w") изменить на F = open("txt","a")
Второй аргумент (w или a) определяет способ открытия файла.
w - только запись. Полностью очищает документ и записывает новые данные;
a - чтение и запись. Открывает документ, не очищая его. Новые данные добавляются после старых.
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')