Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python比不工作还要差?_Python_Python 2.7_Raspberry Pi - Fatal编程技术网

Python比不工作还要差?

Python比不工作还要差?,python,python-2.7,raspberry-pi,Python,Python 2.7,Raspberry Pi,为我的raspberry pi制作了一个小脚本,在cpu温度达到某一点时切换风扇,代码如下: import os import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) R = 7 GPIO.setup(R, GPIO.OUT) GPIO.output(R, GPIO.HIGH) while True: def getCPUtemperature(): res = os.popen('vcgencmd mea

为我的raspberry pi制作了一个小脚本,在cpu温度达到某一点时切换风扇,代码如下:

import os
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
R = 7
GPIO.setup(R, GPIO.OUT)
GPIO.output(R, GPIO.HIGH)
while True:
    def getCPUtemperature():
        res = os.popen('vcgencmd measure_temp').readline()
        return res.replace("temp=", "").replace("'C\n", "")
    CPU = getCPUtemperature()
    print(CPU)
    if CPU > 36.0:
        GPIO.output(R, GPIO.LOW)
    elif CPU < 30.0:
        GPIO.output(R, GPIO.HIGH)
导入操作系统
导入时间
将RPi.GPIO导入为GPIO
GPIO.setmode(GPIO.BCM)
R=7
GPIO.setup(R、GPIO.OUT)
GPIO.输出(R、GPIO.高)
尽管如此:
def GetCputTemperature():
res=os.popen('vcgencmd measure_temp').readline()
返回res.replace(“temp=”,“”)。replace(“'C\n”,“”)
CPU=GetCputTemperature()
打印(CPU)
如果CPU>36.0:
GPIO.输出(R、GPIO.低)
elif CPU<30.0:
GPIO.输出(R、GPIO.高)
首先,是的,我用的是一个继电器,它的高低应该是这样的。 这是可行的,但问题是,尽管控制台输出29.3这样的值,风扇仍然运行,程序仍然认为该值高于36,我不知道为什么它没有意识到该值小于27

有人知道它为什么不起作用吗


感谢从
GetCputTemperature
返回的值看起来应该转换为浮点值,例如:

def getCPUtemperature():
    res = os.popen('vcgencmd measure_temp').readline()
    return float(res.replace("temp=","").replace("'C\n",""))

安东尼下面的回答是正确的。我认为值得注意的是,在Python3下,
'29.9'<30.0
导致异常
TypeError:unorderable types:str()
。升级Python有很多很好的理由,尤其是在您刚刚起步的时候。