如何用Python或Ctrl+F替换JSON文件中的'with '为'used '?
批量替换JSON文件中的"with "为"used "的解决方案
方法一:手动替换(快速简单)
直接用文本编辑器(VS Code、Notepad++等)打开你的first_task.json文件:
- 按下
Ctrl+F打开查找替换面板 - 在查找框输入
with,替换框输入used - 勾选「全部替换」(建议先点击「查找下一个」确认要替换的内容都是目标项,避免误替换)
方法二:Python代码替换(适合批量/复杂场景)
你之前的代码没生效,是因为完全没执行with 到used 的替换操作,只是做了单引号转双引号的无用操作(json.dumps默认就输出双引号)。下面是两种可靠的代码实现:
方案1:直接处理文件文本(简单场景)
如果你的JSON结构简单,且确定所有with 都是需要替换的错误内容,可以直接读取文件文本替换:
with open('first_task.json', 'r', encoding='utf-8') as f: content = f.read() # 替换所有目标字符串 content = content.replace('with ', 'used ') with open('first_task.json', 'w', encoding='utf-8') as f: f.write(content)
方案2:解析JSON后遍历替换(安全可靠)
如果JSON有复杂嵌套结构,或者担心直接替换文本破坏JSON格式,建议解析JSON后遍历所有字符串值进行替换:
import json def replace_target_text(obj): if isinstance(obj, str): return obj.replace('with ', 'used ') elif isinstance(obj, list): return [replace_target_text(item) for item in obj] elif isinstance(obj, dict): return {key: replace_target_text(value) for key, value in obj.items()} return obj # 读取并解析JSON with open('first_task.json', 'r', encoding='utf-8') as f: data = json.load(f) # 执行替换 updated_data = replace_target_text(data) # 写回文件(保留格式和中文) with open('first_task.json', 'w', encoding='utf-8') as f: json.dump(updated_data, f, ensure_ascii=False, indent=4)
内容的提问来源于stack exchange,提问作者Andrey Baev
相关产品推荐
相关产品推荐

