Python 打印语法错误 Raspberry Pi
我正在设置我的树莓派,想要连接一个运动传感器。我使用的是来自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()
1 个回答
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
来检查你安装的是哪个版本。