需求,修改templates目录下所有json文件的某些key的value
#!/usr/bin/python
import json
import os
path = './templates/'
for fpathe,dirs,fs in os.walk(path):
for f in fs:
# 文件名
print(os.path.join(fpathe,f))
with open(os.path.join(fpathe,f),'r',encoding='utf8')as fp:
json_data = json.load(fp)
#print('这是文件中的json数据:',json_data)
# 赋值
json_data['_environment']['dev']['kubernetes']['credentials'] = 'OLAYC-DEV'
json_data['_environment']['dev']['kubernetes']['image_pull_secrets'] = 'regsecret'
json_data['_environment']['dev']['kubernetes']['config_map'] = 'olayc-config-dev'
# 写入文件,其中 indent=4 是空格缩进单位,我这里是4个空格
with open(os.path.join(fpathe,f),'w') as js:
json.dump(json_data, js, indent=4)
批量update数据
for fpathe,dirs,fs in os.walk(path):
for f in fs:
with open(os.path.join(fpathe,f),'r',encoding='utf8')as fp:
json_data = json.load(fp)
project = json_data['project']
print('update release_project set json_template="{data}" WHERE project="{project}";'.format(data=json_data, project=project))