代码之家  ›  专栏  ›  技术社区  ›  fobu36

从txt中获取值,增加值并将其保存在同一txt中

  •  0
  • fobu36  · 技术社区  · 7 年前

    我试图从txt中获取一些值,增加它们(直到这里一切正常),然后在文件中写入新变量,但我无法在文件中写入变量,尽管我在字符串中更改了变量。。 代码为

    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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Jean-François Fabre    5 年前

    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(",")