如何在 Python 中将文本和变量记录在同一行中?

use*_*908 6 python logging

我对 Python 编码还比较陌生。

我最近用树莓派设置了一个 GPS 日志设备,我想让我的日志文件看起来更干净。

我当前的日志记录代码是:

logging.info('Altitude:')
logging.info(gpsd.fix.altitude)
Run Code Online (Sandbox Code Playgroud)

它记录:

INFO:root:Altitude:
INFO:root:80
Run Code Online (Sandbox Code Playgroud)

我想在日志中看到的是:

Altitude: 80
Run Code Online (Sandbox Code Playgroud)

我尝试用我有限的Python知识来做到这一点,但结果只是失败。

谢谢!另外,还有其他清理日志文件的技巧吗?

lea*_*eas 7

在 Python >=3.6 中你可以这样做:

logging.info(f"Altitude: {gpsd.fix.altitude}")
Run Code Online (Sandbox Code Playgroud)

通过在字符串开头添加“f”,方括号之间的值将被解释为变量并将被其值替换。


Owe*_*wen 5

如果高度是小数那么

logging.info('Altitude: %d' % gpsd.fix.altitude)
Run Code Online (Sandbox Code Playgroud)

会做到这一点,还有其他几种方法可以实现同样的事情,尽管我相信其他人可以提出!


daw*_*awg 2

尝试:

logging.info('Altitude:%s' % gpsd.fix.altitude)
Run Code Online (Sandbox Code Playgroud)