我有以下pythons脚本:
#!/usr/bin/python
import time
import datetime
import subprocess
from subprocess import Popen
import pifacedigitalio
from time import sleep
pfd = pifacedigitalio.PiFaceDigital() # creates a PiFace Digital object
testprocess = None
now = datetime.datetime.now()
if ((now.hour >= 6 and now.minute >=30) and (now.hour < 9)) or ((now.hour >= 7) and (now.hour < 10)):
if pfd.input_pins[0].value == 1 and not testprocess:
subprocess.Popen(["/bin/led/aus"])
sleep(5)
testprocess = Popen(["/bin/led/Zone1-4Morgen"])
sleep(1)
if pfd.input_pins[0].value == 0:
if testprocess:
testprocess.kill()
testprocess = None
subprocess.Popen(["/bin/led/aus"])
sleep(1)
脚本并不完全符合我的要求,也许你可以提供帮助。在时间窗口pfd.input_pins[0].value == 1
内,它应该关闭/ bin / led / aus并启动脚本/ bin / led / Zone1-4Abend。
如果输入pfd.input_pins[0].value
返回0,则应该终止该脚本
Zone1-4Abend并关闭/ bin / led / aus。
下面的脚本工作正常,我在上面的脚本中所做的就是添加一个时间窗口。因此,只有时间窗口和pfd.input_pins[0].value
为真时,脚本才会继续。
#!/usr/bin/python
import subprocess
from subprocess import Popen
import pifacedigitalio
from time import sleep
pfd = pifacedigitalio.PiFaceDigital() # creates a PiFace Digital object
testprocess = None
while(True):
if pfd.input_pins[0].value == 1 and not testprocess:
subprocess.Popen(["/bin/led/aus"])
sleep(5)
testprocess = Popen(["/bin/led/Zone1-4Morgen"])
sleep(1)