我在从python脚本中读取返回命令的值时遇到了一些问题。这首想法是在播放歌曲时点亮一个LED,并在歌曲停止或暂停时关闭LED。
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
import subprocess
ledpin = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(ledpin, GPIO.OUT)
try:
while True:
process = subprocess.Popen("mpc status|grep -o playing", stdout=subprocess.PIPE, shell=True)
output = process.communicate()[0]
if output == "playing" : #if output is playing
print "Song Playing"
GPIO.output(ledpin,GPIO.HIGH)
else : #output is anything else
print "Waiting for music"
GPIO.output(ledpin,GPIO.LOW)
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
它打印变量输出,显示为"播放"完全符合预期,但它从未陷入过if循环 - 我只看到"等待音乐"。我在这做错了什么?感谢您的帮助。