嘿,我正在尝试新的覆盆子pi,我不得不在这里发帖,因为我是一个菜鸟。我试图通过以下命令获取我的CPU的温度:
cmd = "vcgencmd measure_temp | awk -F"=|'" '{print $2}'
Temp = subprocess.check_output(cmd, shell = True )`
当我运行vcgencmd measure_temp时,我得到temp = x' C,其中x = 30 / 30.5 / 40.8等。我想得到这些数字,所以我可以做出这样的Ifelse语句:
If Temp >= 40
print ("40+")
elif Temp >=35
print ("35+")
else:
print ("Below 35")
答案 0 :(得分:0)
您在cmd
的作业中引用了问题。您使用"
作为Pythong字符串周围的分隔符,也使用shell命令中-F
的参数。那就是Python字符串的结尾。在shell参数周围使用单引号。
cmd = "vcgencmd measure_temp | awk -F'=|' '{print $2}'"
Yuo还在你的if
声明中遗漏了冒号和缩进。 Python区分大小写,因此If
应为if
。
if Temp >= 40:
print ("40+")
elif Temp >=35:
print ("35+")
else:
print ("Below 35")
答案 1 :(得分:0)
您的代码存在许多问题,例如您的字符串定义中的"
在您不想要的时候关闭字符串,以及缺少冒号和在if
/ elif
/ else
语句后缩进。 (还有一个注释,如PEP 8 style guide中提到的那样,尽量不使用像Temp
这样的变量名称,因为它不是常见的标准样式之一)
这是应该工作的代码的更新版本:
cmd = "vcgencmd measure_temp | awk -F '=|' '{print $2}'"
temp = subprocess.check_output(cmd, shell = True)
if temp >= 40:
print("40+")
elif temp >= 35:
print("35+")
else:
print("Below 35")