python - 如何更改文本文件的特定部分而不删除其余部分?
问题描述
我正在尝试编写一个 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()
解决方案
听起来可能有多种解决方案。也许三个文本文件?
由于它可以处理单个文本文件中的字符串,因此正则表达式是一个很好的工具,可以放在你的口袋里。如果您想花时间了解它们,它们将非常适合这项任务以及您将来会遇到的许多其他任务。
如果您有时间粘贴代码;这会很有帮助。
推荐阅读
- assembly - amd64 上“条件调用”的表现
- python - 树莓派相机模块
- xpath - 如何通过文本选择包含纯文本的节点和其他一些节点?
- intellij-idea - IntelliJ IDEA 调试无法预览每一行的值
- caching - GitLab CI:合并或替换缓存?
- html - Swift:在标签中显示 HTML 数据不显示正确的图像
- css - 如何在没有动画的情况下切换 scaleX 来翻转图像
- python - 使用具有预期样式的 python 生成 yaml 文件
- inno-setup - 禁止在 Inno Setup 自定义页面上输入空白和仅空格
- python - Django/Nodejs - 上传大块文件