我正在用运动传感器设置我的树莓派。我正在使用modmypie中的一些简单代码python代码。我从终端窗口运行代码,但获取SyntaxError: invalid syntax
在print (“Motion Detected!”)
。这是一个如此简单的界限,但无法弄清楚问题是什么。
# coding: utf-8
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
PIR_PIN = 7
GPIO.setup(PIR_PIN, GPIO.IN)
def MOTION(PIR_PIN):
print “Motion Detected!”
print “PIR Module Test (CTRL+C to exit)”
time.sleep(2)
print “Ready”
try:
GPIO.add_event_detect(PIR_PIN, GPIO.RISING, callback=MOTION)
while 1:
time.sleep(100)
except KeyboardInterrupt:
print “ Quit”
GPIO.cleanup()
答案 0 :(得分:5)
这可能是因为您正在使用的引号。
查看代码,看起来你正在使用unicode引号。具体来说,您使用的是unicode字符0x201C和0x201D - “左双引号”和“右双引号”。
“ ”
相反,您应该使用普通的ASCII引号,其ASCII / Unicode代码为0x22:
" "
你是如何编写代码的?如果您使用某种文字处理软件(Microsoft Word,Libreoffice)来编写代码,他们通常会将常规引号自动更正为花哨的unicode文件。许多网站和博客平台也会做同样的事情,因为常规引用是更好的排版,通常是作者想要的(只要他们不是程序员!)
如果您使用常规文本编辑器(记事本,Sublime Text等),则不应遇到此问题。
或者,您可能会混淆Python 2和Python 3。
如果您正在运行Python 2,那么您的打印语句应如下所示:
print "Text"
如果您正在运行Python 3,那么您的打印语句应如下所示:
print("Text")
您可以通过从命令行运行python --version
来检查您拥有的版本。