синтаксическая ошибка в коде 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()

он должен печатать кнопку, нажатую, когда контакт gpio на моем raspberry pi получает питание при нажатии кнопки на плате. но я получаю сообщение об ошибке все время, когда запускаю код в консоли с запущенным raspbian. большинство ошибок говорят о «недопустимом синтаксисе», а не о последней кодовой строке скрипта.


person Crag    schedule 10.02.2014    source источник
comment
Опубликуйте полную ошибку, которую вы получаете.   -  person Martin Tournoij    schedule 10.02.2014


Ответы (1)


У вас есть 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()
person Graeme Perrow    schedule 10.02.2014
comment
да, теперь синтаксическая ошибка исчезла. отлично, но я получил это: RuntimeError: нет доступа к /dev/mem. Попробуйте запустить как root! я пытался работать как root, но все равно эта ошибка - person Crag; 10.02.2014
comment
Это другая проблема, и я не могу вам помочь с ней. Вам нужно будет задать новый вопрос. - person Graeme Perrow; 10.02.2014