如何使用Python脚本修改JSON文件中的指定值?
如何用Python修改JSON文件中的指定值?
没问题,这事儿用Python处理超简单,我给你写个靠谱的脚本方案,还加了异常处理避免踩坑——刚好匹配你给出的需求:把somefilename123.json里的"Fake source"对应的值从"Print"改成"PrintCut"。
完整脚本示例
import json def update_json_value(file_path, target_key, new_value): try: # 1. 读取JSON文件内容 with open(file_path, 'r', encoding='utf-8') as f: data = json.load(f) # 2. 检查目标键是否存在,存在则修改值 if target_key in data: data[target_key] = new_value print(f"成功将键'{target_key}'的值更新为: {new_value}") else: print(f"警告:JSON文件中未找到键'{target_key}'") # 3. 将修改后的数据写回文件 with open(file_path, 'w', encoding='utf-8') as f: json.dump(data, f, indent=4, ensure_ascii=False) print(f"修改已保存到文件: {file_path}") except FileNotFoundError: print(f"错误:未找到文件 '{file_path}'") except json.JSONDecodeError: print(f"错误:文件 '{file_path}' 不是有效的JSON格式") except Exception as e: print(f"发生未知错误: {str(e)}") # 调用函数,替换成你的实际参数 if __name__ == "__main__": update_json_value( file_path="somefilename123.json", target_key="Fake source", new_value="PrintCut" )
脚本说明
- 读取文件:用
json.load()把JSON文件内容加载成Python字典,操作起来跟普通字典一样方便。 - 修改值:先检查目标键是否存在(避免键不存在时报错),存在就直接赋值修改。
- 写回文件:用
json.dump()把修改后的字典写回文件,indent=4让JSON格式化更易读,ensure_ascii=False支持中文等非ASCII字符。 - 异常处理:覆盖了文件找不到、JSON格式错误等常见问题,避免脚本直接崩溃,还能给出清晰的错误提示。
注意事项
- 确保目标键的拼写完全匹配(包括空格、大小写),比如你的需求里是
"Fake source",不能写成"FakeSource"。 - 建议在修改前备份原JSON文件,避免操作失误导致数据丢失。
- 如果你的JSON文件很大,这个脚本也能处理,因为是一次性加载到内存;要是文件大到离谱(比如几个G),可以考虑用流式处理,但一般场景下这个脚本足够用了。
内容的提问来源于stack exchange,提问作者Grimm
相关产品推荐
相关产品推荐

