如何在Python2.7中删除带有JSON的字典?
我正在尝试制作一个类似用户余额的程序,将他们的钱保存在一个文件中。我正在使用JSON将字典转储到文件中。我有一个问题,我需要删除以前的平衡,以便为新的平衡腾出空间,而不必擦拭整个东西。这就是我到目前为止得到的如何在Python2.7中删除带有JSON的字典?,python,json,file,python-2.7,dictionary,Python,Json,File,Python 2.7,Dictionary,我正在尝试制作一个类似用户余额的程序,将他们的钱保存在一个文件中。我正在使用JSON将字典转储到文件中。我有一个问题,我需要删除以前的平衡,以便为新的平衡腾出空间,而不必擦拭整个东西。这就是我到目前为止得到的 b = json.load(open('fileplace')) newbalance= b[str(account)]-howmuchwd b = b.pop(str(account)) a= {str(account):
b = json.load(open('fileplace'))
newbalance= b[str(account)]-howmuchwd
b = b.pop(str(account))
a= {str(account):newbalance}
print 'Withdrawal successful!'
time.sleep(1)
print 'You have %s dollars left.' %newbalance
json.dump(b,open('fileplace','a'))
json.dump(a,open('fileplace','a'))
这会删除账号,但不会删除实际余额。所以我需要旧的信息和新的信息在不删除所有其他余额。我试图在谷歌上找到答案,但到目前为止一切都不起作用。非常感谢 加载json时。它变成了一本字典的形状。因为您知道密钥,所以只需更新字典成员的值即可。尝试以下操作:
with open('fileplace') as fp:
b = json.load(fp)
b[account] -= howmuchwd
with open('fireplace','w') as fp:
json.dump(b,fp)
这应该会在适当的位置更新值,将完整的字典写回文件。我编辑了它,但它仍然会生成另一个字典
b[str(account)]=newbalance
我添加了这个,并删除了第二个转储语句。谢谢我也尝试了.clear(),但它只是保留了原来的一个,并添加了空的{}。您将附加到文件:json.dump(a,open('fileplace','a'))您应该尝试写入该文件,因为您已经加载了字典。所以它会覆盖而不是追加。