If 语句总是 运行 即使不是真的

If statement is always run even if not true

我想在系统使用超过 400 瓦时设置一个功率上限。我试图用一个简单的 if 语句来做到这一点,但是当当前功率为 256 瓦

时,if 语句也是 运行

我的代码是这样的

a=400

node1 = Node(0, 0, 0, 0)
node1.getPowerUsage()
node1.getGpuPowerUsage()
node1.getCpuPowerUsage()
node1.setPowercap()


if(node1.getCpuPowerUsage() > a):
    node1.setPowercap()

else:
    print("nothing to do")

node1.getCpuPowerUsage() 的输出如下所示

print node1.getCpuPowerUsage()
277.54

当功率低于 400 瓦时,我希望看到这样的输出 nothing to do 但实际上我得到了这个输出 Current Power : 247 Watts

Enabled persistence mode for GPU 00000000:35:00.0.
Enabled persistence mode for GPU 00000000:5B:00.0.
Enabled persistence mode for GPU 00000000:CD:00.0.
Enabled persistence mode for GPU 00000000:AA:00.0.
All done.
Power limit for GPU 00000000:35:00.0 was set to 125.00 W from 250.00 W.
Power limit for GPU 00000000:5B:00.0 was set to 125.00 W from 250.00 W.
Power limit for GPU 00000000:CD:00.0 was set to 125.00 W from 250.00 W.
Power limit for GPU 00000000:AA:00.0 was set to 125.00 W from 250.00 W.
All done.
nothing to do

或者您有其他建议吗?

将值转换为浮点数。

例如:

a=400

node1 = Node(0, 0, 0, 0)
node1.getPowerUsage()
node1.getGpuPowerUsage()
node1.getCpuPowerUsage()
node1.setPowercap()


if(float(node1.getCpuPowerUsage()) > a):
    node1.setPowercap()
else:
    print("nothing to do")