需要一个类似字节的对象,而不是json.dump时出现'str'错误

问题描述 投票:-1回答:1

我正在尝试将字典转储到JSON文件中。下面附加的代码在python 2中有效,但是当我尝试在python 3上运行时出现上述错误。

import json
for terr_item in data:    
    with open( 'influence_data/' + str(terr_item['territory_id']) +'-influence.json','wb') as f:
        json.dump(terr_item,f,ensure_ascii=False,allow_nan=False,indent=4)
python json python-3.7
1个回答
0
投票

在Python 3中,binary输出文件必须接收字节字符串,而不是常规的Python3 unicode字符串。

这里您没有理由使用二进制模式,因此应使用:

with open( 'influence_data/' + str(terr_item['territory_id']) +'-influence.json','w') as f:
    json.dump(terr_item,f,ensure_ascii=False,allow_nan=False,indent=4)
© www.soinside.com 2019 - 2024. All rights reserved.