2017-06-19 57 views
0

是否有任何簡單的方法如何更新只有一些值在spring配置文件? 我正在使用.yml配置文件,其中用戶可以用純文本或加密密碼設置密碼。我想在我的CLI應用程序中有命令,它加密所有密碼,但不覆蓋整個文件(不會從配置文件中刪除用戶註釋)。如何只更新彈簧配置文件中的一些值

回答

0

既然您在編程網站上提問,我認爲程序被認爲是一個簡單的解決方案。唯一需要保持不變的是要更新的實際值的索引。

首先安裝ruamel.yaml(免責聲明:我是包的作者),這將保存在往返您的意見等

import sys 
from ruamel.yaml import YAML 
from ruamel.yaml.util import load_yaml_guess_indent 

yaml = YAML() 

with open(sys.argv[1]) as fp: 
    data, indent, bsi = load_yaml_guess_indent(fp) 

# adjust this 
data['path']['to']['password'] = sys.argv[2] 

with open(sys.argv[1], 'w') as fp: 
    yaml.dump(data, fp)