递归字符串替换

时间:2019-10-26 17:06:53

标签: python python-3.x string

x = "{app}_{filename}"

def fun():
    app = 'java'
    filename = 'gc.log'
    result = f'{x}'
    print(result) 
fun()

这将打印“ {app} _ {filename}”,但我的目标是用本地的{app}和{filename}代替。我已经用谷歌搜索了如何做递归变量替换,但是什么也没找到。

1 个答案:

答案 0 :(得分:2)

您可以使用字符串format()来替换字符串模板中的变量,例如:

x = "{app}_{filename}"

def fun(s):
    app = 'java'
    filename = 'gc.log'
    return s.format(app=app, filename=filename)

print(fun(x))
# prints: "java_gc.log"