应该使用此函数来操作存储为文件的字典中的值。我正在
“分配前已引用本地变量'json'”
在第四行,“ dictio = json.loads()”。
我已经导入了json,实际上,下面的函数可以很好地执行几乎相同的任务。与后面的函数不同,即使我没有故意要求多线程处理,此函数也引发了空队列错误。
def updateTally(lefty): #Tally records responses to each question
global num, total, thisQ
rf = open("20QTally.json", "r")
dictio = json.loads(rf.read())
rf.close()
dictio[str(0)] += 1
total = dictio[str(0)]
if lefty == 1:
dictio[str(num)] +=1
thisQ = dictio[str(num)]
json = json.dumps(dictio)
wf = open("20QTally.json", "w")
wf.write(json)
wf.close()
def record_score(score):#打开,读取,写入和关闭乐谱文件20QScores.txt(文件名) 全球总数 scoref = open(filename,“ r”)#记录并报告个人的回复 sf = json.loads(scoref.read())#Json帮助字符串和整数写入和读取文件。 键= str(分数) 如果键入sf: sf [key] + = 1 其他: sf [key] = 1 #etc。
答案 0 :(得分:0)
您要在此处为json
赋值
json = json.dumps(dictio)
更改变量名称
答案 1 :(得分:0)
这是因为您正在遮盖json
模块声明变量的同名变量。只是不要这样做,请获得在范围内唯一的名称。