1

Друзья, необходимо прочитать файл и заменить одно целое число на другое на единицу больше и записать вместо первого в файл. Может кто-то подсказать как это реализовать в Python.

def check():
with open('users.txt', 'r') as f:
    line = f.readline()
    f.close()
with open('progress.txt', 'r') as k:
    while True:
        global uroka_in
        lines = k.readline()
        if line == lines.rstrip():
            uroka_in = int(k.readline().rstrip())
            urokb_in = uroka_in + 1
            print(urokb_in)
            uroka_str = str(uroka_in)
            urokb_str = str(urokb_in)
            lines.replace(uroka_str, urokb_str)
            k.close()
            break
        if not lines:
            k.close()
            urokb_in = 1
            with open('progress.txt', 'a') as j:
                j.write(line)
                j.write('\n')
                j.write(str(urokb_in))
                j.write('\n')
                j.close()
                print(urokb_in)
                break

Пример записи в progress.txt:

username1
1
username2
1

Хочу эти единички менять на +1 каждый раз когда в users.txt попадает аналогичный username

  • приведите код - что у вас не получается. просто в три строчки.
    • открываем файл на чтение
    • открываем (другой) файл на запись
    • читаем строку
    • делаем +1
    • записываем в файл
    • удаляем старый файл
    • переименовываем новый файл
    • меняем данные
    – Vasyl Kolomiets Jan 07 '18 at 16:12
  • нельзя ли без создания нового файла – андрей гривкин Jan 07 '18 at 16:17
  • 1
    можно, но перезапись в "тот же" файл технически сложнее. все равно нужно перезаписать все до конца файла. похоже - пора перейти к базам данных :-) SQLite3 - встроена в язык – Vasyl Kolomiets Jan 07 '18 at 17:10
  • 1
  • если файл маленький, то можно в json формате хранить данные json легко загрузить, при изменении вы работаете со привычными списками, словарями, легко записать назад на диск. В зависимости от конкретных операций, может больше смысла sqlite базу записать как @Vasyl Kolomiets предложил. – jfs Jan 07 '18 at 17:54

0 Answers0