如果这个python脚本在linux上,我如何获得一个值?

2024-10-03 00:24:04 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,我在试我的新覆盆子馅饼,我不得不把我的问题贴在这里,因为我是个笨蛋。我试图通过以下命令获取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语句:

^{pr2}$

但我总是收到这个语法错误


Tags: 命令cmd覆盆子checkcpu温度temp笨蛋
2条回答

您的代码有很多问题,例如字符串定义中使用",这是在您不想关闭字符串时关闭字符串的,以及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")

你在给cmd的作业中引用问题。您使用"作为Pythong字符串的分隔符,以及shell命令中-F的参数。这就是Python字符串的结尾。在shell参数周围使用单引号。在

cmd = "vcgencmd measure_temp | awk -F'=|' '{print $2}'"

你的if语句中也缺少冒号和缩进。而且Python是区分大小写的,所以If应该是{}。在

^{pr2}$

相关问题 更多 >