首页 文章

函数如何将其printf样式(fmt,args,...)输入args转换为单个字符串?

提问于
浏览
0

如何将python 2.7 def输入log.debug样式参数(即printf-style)然后将args转换为单个字符串?

我有一大堆代码可以做很多 log.debug(fmt, args, ...) .

我想将输入args fmt, args, ... 转换为单个字符串 .

例如:目前,这是从1格式arg和3个arg值执行的标准调试日志:

self.log.debug("Setting parameter %s(%d) to: %d", axis_params[param]['desc1'], param, value)

..which日志:“设置参数”

但是,在我的功能:

self.grabit.debug("Setting parameter %s(%d) to: %d",
                  axis_params[param]['desc1'], param, value)

...我希望 grabit 生成一个包含以下内容的字符串:"Setting parameter val1(val2) to: val3>"

1 回答

  • 2

    您只需使用 * unpacking syntax splat args并使用 % 运算符格式化字符串 . 假设 self.grabit 是假设的 Grabit 类的实例,代码看起来像这样:

    class Grabit(object):
        def debug(self, fmt, *args):
            return fmt % args
    

相关问题