有没有简单的方法如何更新spring配置文件中的某些值? 我使用.yml配置文件,用户可以在纯文本或加密密码中设置密码。我想在我的CLI应用程序中输入命令,该应用程序对所有密码进行加密,但不会覆盖整个文件(不会从配置文件中删除用户注释)。
答案 0 :(得分: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)