@thedoroshchenco

Как записать данные в файл один раз?

Всем привет!

Выполняю следующий код:
import random
import string

def ipass_generator():
    pwd = string.ascii_letters + string.digits + string.punctuation
    return "".join(random.choice(pwd) for x in range(random.randint(14, 24)))
passwords = (ipass_generator())
print(passwords)

with open('passwords.txt', 'w') as f:
    for password in passwords[:-1]:
        f.write(f'{passwords}\n')
f.write(passwords[-1])


Происходит запись сгенерированного пароля в файл, но запись происходит столько раз, сколько символов в пароле. Как это исправить?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
так - что-ли?
...
with open('passwords.txt', 'w') as f:
    f.write(passwords)
# конец файла

там просто строка у вас возвращается
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
Как записать данные один раз:
1. Вызываете функцию записи один раз
with open('passwords.txt', 'w') as f:
    f.write(f'{passwords}\n')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы