Raspi 3 PIR传感器 - Python脚本 - 语法无效

时间:2016-04-07 08:14:49

标签: python raspberry-pi raspbian magic-mirror

实际上我正在使用“Magic Mirror”,现在我遇到了python脚本的问题,应该打开/关闭我的显示器。

I copied the python script from this site

#!/usr/bin/env python

import sys
import time
import RPi.GPIO as io
import subprocess

io.setmode(io.BCM)
SHUTOFF_DELAY = 60  # seconds
PIR_PIN = 7         # Pin 26 on the board

def main():
io.setup(PIR_PIN, io.IN)
turned_off = False
last_motion_time = time.time()

while True:
    if io.input(PIR_PIN):
        last_motion_time = time.time()
        sys.stdout.flush()
        if turned_off:
            turned_off = False
            turn_on()
    else:
        if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
            turned_off = True
            turn_off()
    time.sleep(.1)

def turn_on():
subprocess.call("sh /home/pi/Documents/PIR/monitor_on.sh", shell=True)

def turn_off():
subprocess.call("sh /home/pi/Documents/PIR/monitor_off.sh", shell=True)

if __name__ == '__main__':
try:
    main()
except KeyboardInterrupt:
    io.cleanup()

我试图运行脚本,但是python告诉我第25行有一个语法错误,它在& amp 之后和 gt 之前准确指向分号

直到现在我才使用python,因此我对python的语法一无所知。

如果你们花一点时间帮我解决问题,我将非常感激。

我得到了python版本2.7.9

1 个答案:

答案 0 :(得分:2)

这不是原始Python文件的精确副本。您在复制文件时复制了一些HTML标记。

>替换为>

    if not turned_off and time.time() > (last_motion_time + SHUTOFF_DELAY):
        turned_off = True
        turn_off()

您还应该删除缩进问题和其他HTML内容:

def main():
    io.setup(PIR_PIN, io.IN)
    turned_off = False
    last_motion_time = time.time()

def turn_on():
    subprocess.call("sh /home/pi/Documents/PIR/monitor_on.sh", shell=True)

def turn_off():
    subprocess.call("sh /home/pi/Documents/PIR/monitor_off.sh", shell=True)