如果您不想使用任何显式库,您可以简单地将任何对象类型转换为 str 并将其值连接到您的日志字符串。例如:
>>> from datetime import datetime
>>> 'My String: ' + str(datetime.now())
'My String: 2018-03-29 15:32:35.487581'
我个人使用str.format 方法来完成此类任务。它在填充值时在内部调用__str__ 函数。
首先使用您要记录的密钥创建一个dict。例如:
log_data = {
'string': '**some string**',
'dict': {'some': 'dict'},
'list': ['some', 'list'],
'tuple': ('some', 'tuple'),
'int': 1234,
'datetime': datetime.now()
}
现在将上述字典的解压版本与字符串上的string.format 函数一起使用:
>>> my_log_string = 'My String - {string}, My Dict - {dict}, My List - {list}, My Tuple - {tuple}, My int - {int}, My Datetime - {datetime}'
>>> my_log_string.format(**log_data)
"My String - **some string**, My Dict - {'some': 'dict'}, My List - ['some', 'list'], My Tuple - ('some', 'tuple'), My int - 1234, My Datetime - 2018-03-29 15:28:37.474416"