2014-02-10 65 views
0

你能告诉我这段代码中的语法错误在哪里?python代码中的语法错误

import RPi.GPIO as GPIO 

GPIO.setmode(GPIO.BOARD) 

GPIO.setup(4, GPIO.IN) 

try: 
    while True: 
     if (GPIO.input(4) == 1): 
      print "button pressed" 
     else: 
      print "he" 
GPIO.cleanup() 

它应该打印按钮按下时被压在板上的按钮时,我的覆盆子PI的GPIO引脚获得电源。但我总是在运行raspbian的控制台中运行代码时出现错误。大部分错误都会说“无效的语法”,并且比脚本的最后一条代码行更糟糕。

+0

发布你得到的全部错误。 – Carpetsmoker

回答

2

您有try没有except子句。你需要这样的东西:

try: 
    while True: 
     if (GPIO.input(4) == 1): 
      print "button pressed" 
     else: 
      print "he" 
except: 
    # handle exception here 
    pass # if you want to ignore it 
GPIO.cleanup() 
+0

是的,现在语法错误消失了。很好,但我得到了这个: RuntimeError:无法访问/ dev/mem。尝试以root身份运行! 我试着以root身份运行,但仍然出现这个错误 – Crag

+0

这是一个不同的问题,我无法帮助你。你需要问一个新的问题。 –