记录从 python2.7 到 python3.9 的消息,反之亦然
logging message from python2.7 to python3.9 vice versa
我是 python 的新手,正在尝试将应用程序从 python2.7
移植到 python 3.9
,但在将消息记录到文件时遇到问题
我已经设置了日志记录配置
logging.basicConfig(filename='example.log', encoding='utf-8', level=logging.DEBUG)
和
尝试将日志写入文件时出现错误。
logging.info ( "CRL_TO_PEM_CMD =",CRL_TO_PEM_CMD )
在 2.7 和 3.9
中给出以下错误
TypeError: not all arguments converted during string formatting
logging.info ( f"CRL_TO_PEM_CMD ={CRL_TO_PEM_CMD}" )
在 3.9 中工作正常,在 2.7
中出错
如何编写适用于 2.7 和 3.9 的语句?
如果CRL_TO_PEM_CMD
是字符串,可以使用:
logging.info ("CRL_TO_PEM_CMD =" + CRL_TO_PEM_CMD)
否则,您需要先将其转换为 str
:
logging.info ("CRL_TO_PEM_CMD =" + str(CRL_TO_PEM_CMD))
顺便说一句,你可以使用字符串格式,它同时支持Python 2和3。它可以用来连接每种类型的数据都带有字符串。
例如
logging.info ("CRL_TO_PEM_CMD ={}".format(CRL_TO_PEM_CMD))
Python2 和 Python3 上的默认日志记录样式都是 %
-formatting aka printf-formatting。在 msg
中使用 %
样式的占位符,logging
模块将根据需要插入其他参数。
logging.info("CRL_TO_PEM_CMD = %s", CRL_TO_PEM_CMD )
我是 python 的新手,正在尝试将应用程序从 python2.7
移植到 python 3.9
,但在将消息记录到文件时遇到问题
我已经设置了日志记录配置
logging.basicConfig(filename='example.log', encoding='utf-8', level=logging.DEBUG)
和
尝试将日志写入文件时出现错误。
logging.info ( "CRL_TO_PEM_CMD =",CRL_TO_PEM_CMD )
在 2.7 和 3.9
TypeError: not all arguments converted during string formatting
logging.info ( f"CRL_TO_PEM_CMD ={CRL_TO_PEM_CMD}" )
在 3.9 中工作正常,在 2.7
如何编写适用于 2.7 和 3.9 的语句?
如果CRL_TO_PEM_CMD
是字符串,可以使用:
logging.info ("CRL_TO_PEM_CMD =" + CRL_TO_PEM_CMD)
否则,您需要先将其转换为 str
:
logging.info ("CRL_TO_PEM_CMD =" + str(CRL_TO_PEM_CMD))
顺便说一句,你可以使用字符串格式,它同时支持Python 2和3。它可以用来连接每种类型的数据都带有字符串。
例如
logging.info ("CRL_TO_PEM_CMD ={}".format(CRL_TO_PEM_CMD))
Python2 和 Python3 上的默认日志记录样式都是 %
-formatting aka printf-formatting。在 msg
中使用 %
样式的占位符,logging
模块将根据需要插入其他参数。
logging.info("CRL_TO_PEM_CMD = %s", CRL_TO_PEM_CMD )