如何使用Python批量修改文件夹下多个json文件中的指定内容?

ID:20789 / 打印

如何使用python批量修改文件夹下多个json文件中的指定内容?

python修改文件夹下多个文件中json内容的批量操作

各位python初学者们,今天我们来探讨一下如何批量修改文件夹下的多个文件中json的指定内容。例如,将{filename:1.dav}修改为{filename:1.avi}。

解决方案

首先,让我们回顾一下您已经掌握的基本思路:

立即学习“Python免费学习笔记(深入)”;

  • import json
  • 获取文件的路径
  • 加载文件中的json数据
  • 修改json的内容
  • 使用json.dump()将修改后的json写入文件

现在,我们重点解决如何批量获取和修改文件中的json数据。

使用python中的os模块可以遍历指定文件夹中的所有文件:

import os  path = u'd:' files = os.listdir(path)

遍历文件列表,逐个加载和修改json内容:

for file in files:     json_str = open(file, 'r').read()     get_json_data = json.loads(json_str)     get_json_data["filename"] = get_json_data["filename"].replace(".dav", ".avi")      with open(file, 'w') as r:         r.write(json.dumps(get_json_data))

完整的代码示例

import os import json  path = u'D:'  # 遍历文件夹中所有文件 files = os.listdir(path) for file in files:      # 加载并修改json数据     json_str = open(file, 'r').read()     get_json_data = json.loads(json_str)     get_json_data["filename"] = get_json_data["filename"].replace(".dav", ".avi")      # 使用with自动关闭文件     with open(file, 'w') as r:         r.write(json.dumps(get_json_data))

注意:

  • 代码中使用json.loads和json.dumps函数对json数据进行反序列化和序列化,以方便修改。
  • 文件名中的".dav"后缀名根据实际情况替换为需要修改的类型。
上一篇: Pydantic 库 validator 中 per 参数的执行顺序问题:为什么将 per 设置为 True 后,验证方法的执行顺序并非第一位?
下一篇: 为什么用 Python 获取的网址带有括号和单引号?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。