如何使用python 2.7 def输入log.debug样式参数(即printf-style)然后将args转换为单个字符串?
我有很多代码可以执行很多log.debug(fmt, args, ...)
。
我想将输入参数fmt, args, ...
转换为单个字符串。
例如: 目前,这是一个标准的调试日志,来自1格式arg和3个arg值:
self.log.debug("Setting parameter %s(%d) to: %d", axis_params[param]['desc1'], param, value)
..记录:"设置参数"
但是,在我的功能中:
self.grabit.debug("Setting parameter %s(%d) to: %d",
axis_params[param]['desc1'], param, value)
...我希望grabit
生成一个包含以下内容的字符串:"将参数val1(val2)设置为:val3>"
答案 0 :(得分:2)
您只需使用*
unpacking syntax展开参数,然后使用%
运算符格式化字符串。假设self.grabit
是假设的Grabit
类的实例,代码看起来像这样:
class Grabit(object):
def debug(self, fmt, *args):
return fmt % args