将1添加到文本文件中的整数值,然后将此新值写入旧值的顶部吗?

问题描述 投票:0回答:1

我正在尝试获取文本文件中位置[1]处已参加的游泳会议的数量,并将其加1。我已经尽力做到这一点,但现在想更新整数值。当前,该程序仅将新值写入下一行而不是进行更新。

with open("%s.txt" % month, 'r+') as f:
  for line in f:
    lineList = line.split(",")
    if swimmersName == lineList[0]:
      numSessions = int(lineList[1])
      numSessions = int(numSessions) + 1
      ineList[1] = numSessions
      f.write(str(lineList[1]))

此刻文本文件看起来像这样:

Tom Jones,1
2

我希望2成为1所在的位置:(

python text-files updating
1个回答
0
投票

我将使用这样的方法:

out = ""

with open("foo.txt","r+") as f:
    for line in f:
        tokens = line.split(",")
        out += tokens[0] + "," + str(int(tokens[1])+1) + "\r\n"

    f.seek(0)
    f.write(out)

读取整个文件,根据需要修改每一行,并根据需要构建输出。然后,一旦您通读了整个文件,请返回文件的开头,并用新内容覆盖旧内容。

© www.soinside.com 2019 - 2024. All rights reserved.