我对Python还是很陌生,我正在尝试使用discord.py制作一个discord机器人,其想法是您可以赚取个人资料上显示的硬币。问题是我需要将配置文件存储在一个文件中,所以看起来像这样
userID1,10
userID2,20
userID3,30
预期输出:
userID1,10
userID2,120
userID3,30
基本上是“用户的ID不一致,硬币数量”,我试图用不同数量的硬币替换该行,而且我不知道如何在不创建另一个文件的情况下执行此操作。
这就是我现在所拥有的。
def addExp(userID,Points):
with open(fname) as f:
for line in f:
if userID in line:
info = line.split(',')
newPoints= int(info[1]) + Points
UserID是用户的ID,因此每个用户的ID都不相同,而Points是我要添加的点数
答案 0 :(得分:0)
我建议您采用以下解决方案,并在代码中添加注释以说明:
def addExp(UserID, Points):
# Open the file and read the full content
with open(fname, 'r') as f:
lines = f.readlines()
# Iterate over each line and replace the number of coins
for i in range(len(lines)):
if UserID in lines[i]:
info = lines[i].split(',')
info[1] = str(int(info[1]) + Points)
lines[i] = ",".join(info) + '\n'
# Overwrite the file with the updated content
with open(fname, 'w') as f:
f.writelines(lines)
fname = 'file.txt'
addExp("userID2", 100)