首页 > 解决方案 > 是否可以在字符串中嵌入一个稍后可以使用“格式”方法设置的变量?

问题描述

最近我看到了一个带有类方法的代码,它建议我这样做,但我在文档中没有看到类似的东西。

class MyClass():
    def __init__(self, filepath):
        self.filepath = filepath
        self.total_steps = 0

    def my_func(self, step, logs={}):
        self.total_steps += 1
        filepath = self.filepath.format(step=self.total_steps, **logs)
        self.another_func(filepath)
    [...]

我认为这段代码允许我使用filepath带有一些内部参数的变量step,可以随时更新format。但是,我无法通过filepath它受到format(step=self.total_steps, **logs).

所以我的问题是:是否可以定义一个带有可以通过format方法更改的参数的字符串?


如果您想知道我可以在这里发布的原始代码,或者您可以自己在keras-rlgithub 上的库中进行检查。它在文件中的ModelIntervalCheckpoint类中callbacks.py

标签: pythonstring

解决方案


为了能够格式化您的文件路径,您需要在文件路径字符串中包含一个名为“step”的“占位符”。

a = MyClass("/foo/bar/{step}/bla")

格式功能的一个很好的概述:https ://pyformat.info/


推荐阅读