функция file.write() удаляет предыдущие значения
Я делаю код на языке python, парсер в телеграмм. Одна из его функций, приведенная ниже, должна записывать номер телефона, айди и имя пользователя в файл. Однако записывается лишь последний номер, айди и имя, а остальные стираются.
with open('id-numbers.txt','r') as info:
info.read()
if a in info:
pass
else:
with io.open('id-numbers.txt', 'w') as info:
info.write('ID:'+(b)+' | '+'Номер телефона:'+(a)+' | '+'Username:'+(c)+'\n')
Выявил, что причина в проверке на отсутствие элемента в файле. Как можно эту проверку исправить, чтобы в файле были все номера итд и повторялись лишь 1 раз?
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
прочитать файл и убедится что такого телефона в нём нет.
открыть файл на добавление и записать новую строку.
with open('id-numbers.txt', 'r') as info:
is_in = a in info.read()
if not is_in:
with open('id-numbers.txt', 'a') as info:
info.write('ID:'+(b)+' | '+'Номер телефона:'+(a)+' | '+'Username:'+(c)+'\n')