json.dump(dic, f) 放入文件中键的类型从int变成str怎么办
时间: 2024-10-08 18:06:53 浏览: 25
python json.dumps() json.dump()的区别详解
5星 · 资源好评率100%
当你使用 `json.dump()` 将字典 (`dic`) 中的整数 (`int`) 类型的键转换成字符串 (`str`) 写入文件 (`f`) 时,你需要确保在dump之前将整数键转换为字符串。Python 的 `json` 模块默认会处理非字符串类型的键,但是如果你想明确地控制这个过程,可以这样做:
```python
import json
# 假设 dic 是这样的字典,其中 key1 是整数
dic = {'key1': 'value1', 42: 'value2'}
# 遍历字典并转换所有的整数键
for k in dic:
if isinstance(k, int):
dic[str(k)] = dic.pop(k)
# 现在 dic 的所有键都是字符串了
with open('output.json', 'w') as f:
json.dump(dic, f)
```
在这个例子中,我们遍历字典,如果遇到整数键,就创建一个新的字符串键,并用新键替换旧键,同时删除原键。然后再使用 `json.dump()` 将更新后的字典写入文件。
阅读全文