Python打印语法错误覆盆子pi

时间:2014-09-07 18:48:59

标签: python python-2.7 raspberry-pi raspbian gpio

我正在用运动传感器设置我的树莓派。我正在使用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 个答案:

答案 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来检查您拥有的版本。