python脚本中的转义符号
我为我的rpi项目写了一些自动化python脚本。。。下面是脚本的一部分:python脚本中的转义符号,python,Python,我为我的rpi项目写了一些自动化python脚本。。。下面是脚本的一部分: import socket import sys import platform import uuid import psutil import subprocess import os import RPi.GPIO as GPIO import time from subprocess import call def measure_temp(): temp = os.popen("vcgencmd
import socket
import sys
import platform
import uuid
import psutil
import subprocess
import os
import RPi.GPIO as GPIO
import time
from subprocess import call
def measure_temp():
temp = os.popen("vcgencmd measure_temp").readline()
return (temp.replace("temp=","").replace("'C\n",""))
while True:
print
print 'Hostname:' +socket.gethostname()
print 'Machine :' +platform.machine()
print
print 'CPU Usage:'
print(psutil.cpu_percent())
print
print 'MEM Usage:'
print(psutil.virtual_memory().percent)
print
print 'Disk Usage:'
print(psutil.disk_usage('/').percent)
print
print 'CPU Temp:'
if measure_temp() == "50.1":
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(22,GPIO.OUT)
print "Fan on"
GPIO.output(22,GPIO.HIGH)
time.sleep(50)
print "Fan off"
GPIO.output(22,GPIO.LOW)
time.sleep(10)
GPIO.cleanup()
print(measure_temp())
time.sleep(10)
os.system('clear')
print 'end'
我的问题是:
if measure_temp() == "50.1":
我希望在第一个数字之后转义所有符号,如下所示:
if measure_temp() == "5\":
但它不起作用。如何解决此问题?measure\u temp()
似乎返回一个字符串。我将首先将其转换为float
类型,然后检查该值是否大于50
if float(measure_temp()) >= 50:
# Your code
您需要确保
measure\u temp
始终返回一个可以转换为浮点的字符串。您可以将measure\u temp()
替换为以下内容,即返回float
,这更容易处理:
def measure_temp():
temp = os.popen("vcgencmd measure_temp").readline()
try :
t = re.findall( r'temp=([\d\.]+)', temp )
t = float(t[0])
except : # something went wrong
print 'unable to convert the temperature:', temp
t = 20.0 # room temperature
pass
return t
并在文件开头的某个位置重新导入
完成后,您可以将温度值与数字进行比较,如如果温度>50
或其他
如果您想知道,您最近的更改“if float(measure_temp())>=50:”最终将在
vcgencmd
暂停或返回空字符串或无法轻松转换为float
的内容时中断,您应该处理异常以使脚本平稳运行。关于if float(measure_temp>)的情况如何())>=50
您需要确保measure\u temp
始终返回可以转换为浮点的字符串。在大多数语言中"
字符用于标识字符串/文本。在python中声明小数似乎只是50.1
@bradbury9measure\u temp
返回字符串第一个数字后转义所有符号是什么意思?你能更好地解释一下你想要实现什么吗?@Chris,非常感谢,我需要时间来了解这个web是如何实现的工作…正确使用它。。。