繁体   English   中英

如何从文本文件中读取变量作为整数,修改所述变量然后将其存储在 Python 中的同一个文本文件中?

[英]How to read a variable from a text file as an integer, modify said variable then store it in the same text file in Python?

这里的初学者程序员,所以对此感到厌倦。 我目前正在使用 Python 开发基于文本的回合制战斗“模拟器”。 我想在我的代码中添加一种方法来存储和读取玩家的输赢次数,以便他们可以在菜单中看到这些统计数据。 回合制部分按预期运行,但胜/负统计(我将在其余解释中将其称为“分数”)没有。 我有一个名为“wl.txt”的文本文件,其中存储了分数。 这是两条简单的线,对应的输赢数量,赢在第一行,输在第二行。 因为我想随着玩家的进步而更新分数,所以这两个变量需要是整数才能相应地更新。 为了从“wl.txt”中检索它们,我使用 readline() 方法获取胜利,使用 readlines() 方法获取损失。 但是,您可能知道, readline() 返回一个 str 而 readlines() 返回一个列表,所以我无法更新 loss 变量的值。 这是一个 python 文件,它重新组合了我为此使用的代码:

def SeeScore():
    score = open("wl.txt", "r")
    print("Wins:",score.readline(), "\nLosses:", score.readlines())


score = open("wl.txt", "r")
wins = score.readline()
losses = score.readlines()
score.close()

wins += 2
losses += 5
score = open("wl.txt", "w")
score.write(str(wins)+"\n")
score.write(str(losses)+"\n")

SeeScore()

我试图做这样的事情:

wins = int(score.readline())
losses = int(score.readlines())

但是您可能也知道您不能将列表转换为整数。

我不知道该怎么办。

提前致谢。

对于您使用 score.readlines 的损失,它会打印 ['1'] 而不仅仅是 1。另一个问题是您需要输入 int()。

使用您的代码进行测试后,只需替换

"\nLosses:", score.readlines())
# And
wins = score.readline()
losses = score.readlines()

"\nLosses:", score.readline())
# And
wins = int(score.readline())
losses = int(score.readline())

最终代码:

def SeeScore(wins, losses):
    print("Wins:",wins, "\nLosses:", losses)


score = open("wl.txt", "r")
wins = int(score.readline())
losses = int(score.readline())
score.close()



wins += 2
losses += 5
score = open("wl.txt", "w")
score.write(str(wins)+"\n")
score.write(str(losses)+"\n")

SeeScore(wins, losses)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM