首页 > 解决方案 > 如何更改文本文件的特定部分而不删除其余部分?

问题描述

我正在尝试编写一个 python 程序来存储您输入的用户名、密码和分数。我相信那部分是有效的。我的问题是当我重新打开程序时,我想将该用户名和密码的新分数添加到旧分数中,但我尝试过的要么删除文本文件的其余部分,要么修改密码和分数(假设它写了<123> <2>,你下次写2作为分数,它会变成<143> <4>)。我只希望它改变分数而不是密码或用户名,我该怎么做?

这是我遇到困难的代码的一部分:在下面,这是文本文件中所写的内容—— nate 123 2

for line in open("test.txt","r").readlines():
        score_info = line.split()
 
        if user == score_info[0] and password == score_info[1]:
            oldscore = int(score_info[2])
            newscore = int(count) + oldscore
            score_info[2] = str(newscore)
            file = open("test.txt","r+")
            file.write(score_info[0])
            file.write(" ")
            file.write(score_info[1])
            file.write(" ")
            file.write(score_info[2])
            file.write("\n")
            file.close()

标签: pythonlistreplace

解决方案


听起来可能有多种解决方案。也许三个文本文件?

由于它可以处理单个文本文件中的字符串,因此正则表达式是一个很好的工具,可以放在你的口袋里。如果您想花时间了解它们,它们将非常适合这项任务以及您将来会遇到的许多其他任务。

如果您有时间粘贴代码;这会很有帮助。


推荐阅读