gpt4 book ai didi

python - 文本文件中的整数值未更改

转载 作者:行者123 更新时间:2023-12-01 01:16:21 26 4
gpt4 key购买 nike

我有一个函数可以检索文本文件中内容的当前值,然后在程序结束时将值增加 1。但是,该值并不总是增加。可能是什么原因?

获取var值

def get_var_value(filename="varstore.dat"):
with open(filename, "r+") as f:
val = int(f.read() or 0)
f.seek(0)
f.truncate()
return val

将值增加 1:

def increase_var_value(filename="varstore.dat"):
with open(filename, "r+") as f:
val = int(f.read() or 0) +1
f.seek(0)
f.truncate()
f.write(str(val))
return val

最佳答案

get_var_value函数不需要查找和截断文件。它会在 increment_var_value 读取文件之前删除该文件的内容。因此,increment_var_value 始终将其读取为 0,然后将其递增 1,因此该值始终为 1。

代码现在是,

def get_var_value(filename="varstore.dat"):
with open(filename, "r") as f:
val = int(f.read() or 0)
return val


def increase_var_value(filename="varstore.dat"):
with open(filename, "r+") as f:
val = int(f.read() or 0) + 1
f.seek(0)
f.truncate()
f.write(str(val))
return val

关于python - 文本文件中的整数值未更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54312487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com