use*_*044 1 python python-2.7 gpio raspberry-pi raspbian
我正在用运动传感器设置我的覆盆子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()
Run Code Online (Sandbox Code Playgroud)
这可能是因为您正在使用的引号.
查看代码,看起来您正在使用unicode引号.具体来说,您使用的是unicode字符0x201C和0x201D - "左双引号"和"右双引号".
“ ”
Run Code Online (Sandbox Code Playgroud)
相反,您应该使用普通的ASCII引号,其ASCII/Unicode代码为0x22:
" "
Run Code Online (Sandbox Code Playgroud)
你是怎么编写代码的?如果您使用某种文字处理软件(Microsoft Word,Libreoffice)来编写代码,他们通常会将常规引号自动更正为花哨的unicode文件.许多网站和博客平台也会做同样的事情,因为常规报价是更好的排版,通常是作者想要的(只要他们不是程序员!)
如果您使用常规文本编辑器(记事本,Sublime Text等),则不应遇到此问题.
或者,您可能会混淆Python 2和Python 3.
如果您正在运行Python 2,则您的print语句应如下所示:
print "Text"
Run Code Online (Sandbox Code Playgroud)
如果您正在运行Python 3,那么您的print语句应如下所示:
print("Text")
Run Code Online (Sandbox Code Playgroud)
您可以通过python --version从命令行运行来检查您拥有的版本.
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |