@winniuss

Как правильно изменять txt файл python?

У меня есть .txt файл формата ID:Баланс
13:84278142
14:9249292
33:8282828282
939:1233333
1:99999999999999
...
Я собираюсь для какого-то id изменить баланс. Если его нет в списке, то он добавляет новую строчку
rating = 'rating.txt'
with open(rating, encoding='utf-8') as f:
    data = f.readlines()
if str(id) in str(data):
    #???
else:
    with open(rating, 'a', encoding='utf-8') as file:
        string = str(id) + ':' + new_balance
        print(string, file=file)

Как реализовать обновление строчки, если этот id уже записан?
  • Вопрос задан
  • 641 просмотр
Решения вопроса 1
Tomio
@Tomio
backend developer (python, php)
Для ваших целей не подходит формат txt. Я бы воспользовался встроенным модулем shelve
Он создает key-value хранилище и с ним можно работать как с обычным словарем:

import shelve

# допустим, вы сначала в него запишите какие-то данные
with shelve.open('shelve_file.shlv') as shlv:
    shlv['13'] = 84278142
    shlv['14'] = 9249292
    shlv['33'] = 8282828282
    shlv['939'] = 1233333

# затем изменяете нужный элемент
with shelve.open('shelve_file.shlv') as shlv:
    shlv['33'] = 99999999
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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