Получить значения из текста, увеличить их сохранить их в том же тексте

Я пытаюсь получить некоторые значения из текста, увеличить их (пока здесь все хорошо), а затем записать новые переменные в файл, но я не могу записать переменные в файл, хотя я изменил переменную в строке.. код

with open("setup.txt", "r") as f:
  for i, line in enumerate(f):
     str = line.split(",")
     if i == 0:
        minL = int(str[0])
        maxL = int(str[1])

        minL += 2
        maxL += 2
      elif i == 1:
        minF = int(str[0])
        maxF = int(str[1])
        minF += 1
        maxF += 1
minL = str(minL)
with open("setup.txt", "w") as f:
    f.write(minL)
    f.close()

TXT просто:

15, 25
2, 9

РЕДАКТИРОВАТЬ ********* Извините, я только что сделал ошибку, когда скопировал код, я уже поставил "w" для режима записи, но это не работает

ошибка

line 15, in <module>
minL = str(minL)
NameError: name 'minL' is not defined

но я определил minL

2 ответа

Решение

Я пока не могу комментировать.. 17 ваш ожидаемый результат?

Я скопировал и изменил ваш код:

with open("setup.txt", "r") as f:
    for i, line in enumerate(f):
        stri = line.split(",")
        if i == 0:
            minL = int(stri[0])
            maxL = int(stri[1])

            minL += 2
            maxL += 2
        elif i == 1:
            minF = int(stri[0])
            maxF = int(stri[1])
            minF += 1
            maxF += 1
minL = str(minL)
with open("setup.txt", "w") as f:
    f.write(minL)
    f.close()

Я получил ошибку с отступом (который я исправил) и изменил str = line.split(",") в stri = line.split(",")

Открыть файл в режиме записи должно получиться

with open("setup.txt", "w") as f: f.write(minL) f.close()

Другие вопросы по тегам