在python中加载带有占位符的文本文件

在python中加载带有占位符的文本文件,python,yaml,Python,Yaml,我正在开发一个安装程序,我需要创建一个用YAML编写的设置文件。此文件有一些占位符,需要用用户提供的数据填充。 我读取文件的代码如下: f = open ('settings.py', 'w +') settings = open (path + '/ settings_model.yaml', 'r').read() settings% (user_var) f.write (settings) f.close () 而settings_model.yaml文件类似于: “”“路径=“%s”

我正在开发一个安装程序,我需要创建一个用YAML编写的设置文件。此文件有一些占位符,需要用用户提供的数据填充。 我读取文件的代码如下:

f = open ('settings.py', 'w +')
settings = open (path + '/ settings_model.yaml', 'r').read()
settings% (user_var)
f.write (settings)
f.close ()
而settings_model.yaml文件类似于:

“”“路径=“%s”

运行脚本时,占位符未填充

“”“路径=“%s”


如何才能正确填写占位符?

乍一看,您需要将操作结果分配到某个位置:

settings = settings % user_var
代替

settings% (user_var)
(用户变量周围的
()
没有区别,如果您希望它是一个元组,请使用
(用户变量,)
,但这不是重点,两者都应该起作用)


不知何故,整个过程感觉不太安全,但您只要求修复代码;)

看起来第三行应该是
settings=settings%(用户变量)
。当然,您必须将操作结果分配回设置变量
settings=settings%user\u var
,谢谢您的回复。问题是设置文件的内容被用引号括起来了。此外,在修改变量设置后,我还将其传递给赋值。