我正在用运动传感器设置我的树莓派。我正在使用来自 modmypie 的一些简单代码 python 代码。我从终端窗口运行代码,但收到 SyntaxError: invalid syntax
在 print(“检测到运动!”)
上。这么简单的一行,却搞不清楚问题出在哪里。
# 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()
最佳答案
这可能是因为您使用的是引号。
查看代码,您似乎使用了 unicode 引号。具体来说,您使用的是 unicode 字符 0x201C 和 0x201D——“左双引号”和“右双引号”。
“ ”
相反,您应该使用普通的 ASCII 引号,它具有 0x22 的 ASCII/Unicode 代码:
" "
您是如何编写代码的?如果您使用某种文字处理软件(Microsoft Word、Libreoffice)编写代码,它们通常会将正则引号自动更正为花哨的 unicode 引号。许多网站和博客平台也会做同样的事情,因为常规引用是更好的排版并且通常是作者想要的(只要他们不是程序员!)
如果您使用常规的文本编辑器(记事本、Sublime Text 等),您应该不会遇到这个问题。
或者,您可能会混淆 Python 2 和 Python 3。
如果您运行的是 Python 2,您的打印语句应该如下所示:
print "Text"
如果您运行的是 Python 3,您的打印语句应该如下所示:
print("Text")
您可以通过从命令行运行 python --version
来检查您的版本。
关于Python打印语法错误树莓派,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25713602/