如何使用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文件中的指定内容?的详细内容,更多请关注其它相关文章!