2016-10-23 81 views
-2

當運行下面的代碼時,我得到一個縮進錯誤,但我似乎無法找到問題。我是python的新手,所以我敢肯定它顯然很明顯,但我看不到它。RaspberryPi Python IndentationError:預計有一個縮進塊

#Import modules to send commands to GPIO pins 
from subprocess import call 
import RPi.GPIO as gpio 
import time 

#Define function to keep script running 
def loop(): 
while True: 
    time.sleep(0.2) 

#Define function to run when interrupt is called 
def shutdown(pin): 
call('halt', shell=False) 

GPIO.setmode(GPIO.BOARD) #Set pin numbering to board numbering 
GPIO.setup(7, GPIO.IN) #Set pint 7 as input pin 
GPIO.add_event_detect(7. GPIO.RISING, callback=shutdown, bouncetime=200) #Setup inteript to look button press 

loop() 

在運行時我得到這個錯誤:

File "/home/pi/PiSupply/softshut.py", line 8 
    while True: 
     ^
IndentationError: expected an indented block 

請幫幫忙,我已經花了太長時間就這個問題和我似乎無法找到它的指壓痕錯誤。

在此先感謝。

+1

根據[能夠找到的所有在線示例](https://docs.python.org/2/tutorial/controlflow.html#defining-functions),整個函數體必須縮進。你究竟在哪裏找到構造函數,函數體沒有縮進? –

+0

你發佈的錯誤回答你的問題... – coder

回答

0
def loop(): 
    while True: 
     time.sleep(0.2) 

之後的功能,你需要縮進你的代碼。與shutdown功能相同。

+0

Thankyou,拯救了我的一天,我知道它必須是一件容易的事 –

+0

高興地。 –

0

您需要在True時縮進。在Python中,你必須縮進屬於定義或循環的代碼。 def loop()中的代碼需要縮進。

+0

謝謝你這麼多,我知道這很簡單。 –

0

這意味着編譯器期望在單詞while之前有一個縮進。

相關問題