これは、fileinput を使用した簡単なまとめです。値を減らしたりリセットしたりする条件がわからないので、自由に渡すことができるキーワード引数として追加しました。そのような
updateFileName(filename, "sixty", reset=True)
updateFileName(filename, "sixty", decrease=True)
updateFileName(filename, "sixty")
それぞれの結果は一目瞭然です。幸運を!あなたの構造がどのようになっているかわからなかったので、私はそれを Try でラップしました。スペースがある場合は、キーと値を .strip() する必要があります。
import fileinput
def updateFileName(filename, input_value, decrease=False, reset=False):
try:
for line in fileinput.input(filename, inplace=True):
key, value = line.split(",")
if key == input_value:
if decrease:
sys.stdout.write("%s,%s"(key, int(value) - 1)
elif reset:
sys.stdout.write("%s,%s"(key, 1)
else:
sys.stdout.write("%s,%s"(key, int(value) + 1)
continue
sys.stdout.write(line)
finally:
fileinput.close()