Two things. Its r+not rw, and if you want to overwrite previous data, you need to go back to the beginning of the file using fh.seek(0). Otherwise, the modified JSON string will be added.
with open("/tmp/data.json", "r+") as fh:
data = json.load(fh)
i = data["Counter"]
i = i + 1
if i >= data["Highest"]:
data["Highest"] = i
fh.seek(0)
json.dump(data, fh)
fh.close()
. w, , .
with open("/tmp/data.json", "r") as fh:
data = json.load(fh)
i = data["Counter"]
i = i + 1
if i >= data["Highest"]:
data["Highest"] = i
with open("/tmp/data.json", "w") as fh:
json.dump(data, fh)
fh.close()
fh.close(), with .. as.