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

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

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

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

解决方案

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

  • 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"后缀名根据实际情况替换为需要修改的类型。

以上就是如何使用Python批量修改文件夹下多个json文件中的指定内容?的详细内容,更多请关注其它相关文章!