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

时间:2017-10-19 18:02:39

标签: python excel wmi

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

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

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

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

我正在使用xlsxwriter库来创建和编写excel。 hardwareSheet.write是一个允许我将数据写入名为hardware的表单的命令。 以下是我使用“使用”变量的方法:

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

如果我没有将cpuInfo.LoadPercentage解析为float,那么它将是一个字符串。 我用Google搜索并读取我需要将str解析为浮点数,所以我这样做。任何想法可能出错?

3 个答案:

答案 0 :(得分:5)

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

你应该做点什么:

str(usage) + '%'

答案 1 :(得分:0)

这是获得相同输出的另一个选项。

'{0}%'.format(usage)

答案 2 :(得分:0)

使用 Python 3.6+ f-strings 的尖端解决方案:

hardwareSheet.write("B7", f'{usage}%')