python - 用 logging.info() 替换 print('', end='\r') 语句会引发错误
问题描述
有没有办法将带有 end='\r' 标志的格式化字符串传递给记录器?以前我曾经有一个 print() 语句,我用 logging.info() 替换了它,但它现在停止工作
import logging
logging.basicConfig(level=logging.DEBUG)
logging.info("Running operation ID: {0} on {1}. fl-queuetool -z {1} log {0}".format(str(oper_ID), zone))
while True:
stat = getOperationStatus(zone, oper_ID)
logging.info(stat, end='\r')
终端输出:
INFO:root:Running operation ID: 6057 on star. fl-queuetool -z star log 6057
DEBUG:root:_log() got an unexpected keyword argument 'end'
有没有办法修复它?在文档中,它读取函数接受 *args ...
logging.info(msg, *args, **kwargs)¶
Logs a message with level INFO on the root logger. The arguments are interpreted as for debug().
解决方案
如果您使用的是 Python >= 3.2,则可以terminator
在 a 上设置属性StreamHandler
以确定终止符是什么。当然,它默认为\n
。请参阅文档。
推荐阅读
- post - 仅使用 SameSite Lax cookie 进行 SSO 的可行性?
- amazon-web-services - 将 Amazon Redshift 连接到 PowerBI - 错误消息
- azure-cosmosdb - Cosmos DB 数组查询在 .NET SDK 中不起作用
- java - StuckThread 错误后 Weblogic 未处理更多信息
- angular - 角度延迟加载:loadChildren 不同的行为
- python - 如何仅使用函数编写计算器?
- git - git log 错误“致命:不明确的参数'filename.sh':未知修订或路径不在工作树中”
- excel - 您可以使用 VBA 在 Excel 中的整个工作表上删除公式中的工作簿引用吗?
- node.js - 使用 mongodb an node js 中的 where cluse 搜索对象
- java - 根据歌曲 ID 编辑歌曲艺术家姓名和歌曲名称