@Zailox

Как сделать постоянную запись с новой строки Python?

Мне нужно, чтобы в моём цикле (while True) случайное значение постоянно записывалось в файл с новой строки.
while True:
  if random.randint(1, 5000) != 1000:
    b = random.choice(a)
    test = open("save.txt", 'w', encoding = 'utf-8')
    test.write(b+'\n')

Здесь переменная 'а' - это лист, из которого выбирается случайное значение, но проблема в том, что он просто пишет рандомный текст из листа, а после него ставит новую строку, при этом продолжая менять ПЕРВУЮ строку, а не продолжая на следующей.
как сделать запись постоянно с новой строки? (без повторения строчки " test.write(b+'\n')")
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Он не меняет первую строку, а переписывает файл. Режим открытия файла w подразумевает под собой сначала очистку файла, а потом запись в него. Если хотите дозаписывать данные, есть режим a, соответственно, он и нужен
test = open("save.txt", 'a', encoding = 'utf-8')

копипаста режимов

r - открывает файл только для чтения,
w - открыт для записи (перед записью файл будет очищен),
x - эксклюзивное создание, бросается исключение FileExistsError, если файл уже существует.
a - открыт для добавления в конец файла (на некоторых Unix-системах пишет в конец файла вне зависимости от позиции курсора)
+ - символ обновления (чтение + запись).
t - символ текстового режима.
b - символ двоичного режима (для операционных систем, которые различают текстовые и двоичные файлы).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы