Python不支持的操作数类型为+:'float'和'str
问题描述:
我正在写一个简短的脚本,用于获取有关主机的一些信息并将其写入Excel工作簿。我还在学习东西,所以没什么特别。 我得到了我需要的所有数据,并且可以写入大部分内容。 虽然我似乎无法得到一件事。 当尝试下面的代码:Python不支持的操作数类型为+:'float'和'str
hardwareSheet.write("B7", usage + "%")
我可以打印出“用法”变量,但只有当我添加+“%”我不断收到以下错误:
TypeError: unsupported operand type(s) for +: 'float' and 'str'
我使用xlsxwriter库来创建和编写excel。 hardwareSheet.write是一个命令,允许我将数据写入名为硬件的工作表中。 这里就是我得到了“使用”变量:
cpuInfo = wmi.Win32_Processor()[0]
usage = float(cpuInfo.LoadPercentage)
如果我不解析cpuInfo.LoadPercentage为float这将是一个字符串。 我GOOGLE了这一点,并认为我需要解析str到一个浮动,所以我这样做。任何想法可能是错误的?
答
这是一种既可以得到相同的输出。
'{0}%'.format(usage)
您不能将一个字符串添加到浮动。你的程序是否需要对'usage'进行算术运算?如果没有,请不要将它转换为浮动状态。 –
为了什么目的,需要将'usage'解析为浮点数? – roganjosh
@PM 2Ring - 是的,我对它做了一些算术运算,但在一个单独的函数中,所以我不必在全局变量中解析它。我现在明白了。干杯。 – davidb