如何使用 Python 批量修改 JSON 文件中的指定内容?
批量修改 json 文件中的指定内容
作为一名 python 初学者,您希望找到一种方法来批量修改目录中特定 json 文件中的指定内容。例如,您需要将所有 {filename:1.dav} 修改为 {filename:1.avi}。
您已经掌握了一些 python 的知识,但还不确定如何批量获取和修改 json 文件中的“filename”值。幸运的是,答案并不复杂。
解决方案
以下是实现此目标的示例代码:
import json def main(): json_str = '{"filename": "1.dav"}' path = "D:/*.json" # 注意修改为您的目录 for file in os.listdir(path): # 遍历目录中的 JSON 文件 get_json_data = json.loads(json_str) with open(file, "w") as r: get_json_data["filename"] = "1.avi" json.dump(get_json_data, r) # 使用 json.dump 而不是 json.dump if __name__ == "__main__": main()
代码解释
- 这段代码首先加载给定的 json 字符串,并将其解析为 python 字典。
- 然后,它遍历目录中的每个 json 文件,并使用 python 内置的 os.listdir 方法,然后使用 json.loads 函数加载文件。
- 接着,它使用 with 语句打开文件,以便在块结束时自动关闭文件。
- 最后,该代码将修改后的字典内容写入文件中,使用 json.dump 函数而不是 json.dump。
值得注意的是,此代码提供了批量修改单个 json 文件。如果您需要修改多个 json 文件,则可以将其打包成一个循环或使用 glob 模块。