如何在Python2.7中删除带有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):

我正在尝试制作一个类似用户余额的程序,将他们的钱保存在一个文件中。我正在使用JSON将字典转储到文件中。我有一个问题,我需要删除以前的平衡,以便为新的平衡腾出空间,而不必擦拭整个东西。这就是我到目前为止得到的

        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'))您应该尝试写入该文件,因为您已经加载了字典。所以它会覆盖而不是追加。