Python + 不支持的操作数类型:'float' 和 'str

Python unsupported operand type(s) for +: 'float' and 'str

我正在编写一个简短的脚本,我计划在其中获取有关主机 PC 的一些信息并将其写入 excel 工作簿。我还在学习东西,所以没什么特别的。 我得到了我需要的所有数据,并且可以写入大部分内容。 我似乎无法让一件事起作用。 尝试以下代码时:

hardwareSheet.write("B7", usage + "%")

我只能打印出 "usage" 变量,但是当我添加 +"%" 时,我不断收到以下错误:

TypeError: unsupported operand type(s) for +: 'float' and 'str'

我正在使用 xlsxwriter 库来创建和写入 excel。 hardwareSheet.write 是允许我将数据写入 sheet 命名硬件的命令。 这是我如何获得 "usage" 变量:

cpuInfo = wmi.Win32_Processor()[0]
usage = float(cpuInfo.LoadPercentage)

如果我没有将 cpuInfo.LoadPercentage 解析为浮点数,它将是一个字符串。 我在谷歌上搜索了一下,读到我需要将 str 解析为一个浮点数,所以我 so.Any 想出了什么问题?

您不能在 python 中添加浮点数和字符串。 usage 是一个浮点数。 "%" 是一个字符串。

你应该这样做:

str(usage) + '%'

这是获得相同输出的另一种选择。

'{0}%'.format(usage)

使用 Python 3.6+ f-strings:

的尖端解决方案
hardwareSheet.write("B7", f'{usage}%')