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










