2015-01-14 81 views
0

我试着运行这一点,我只是用空格而不是制表符,但为什么出现这种情况我没有线86

import time 
import sys 
import numpy as np 
import SimpleCV 
import webiopi 
from ayarlar import * 

GPIO = webiopi.GPIO 
GPIO.setFunction(4, GPIO.OUT) 
GPIO.setFunction(17, GPIO.OUT) 
GPIO.setFunction(18, GPIO.OUT) 
GPIO.setFunction(27, GPIO.OUT) 
GPIO.setFunction(10, GPIO.OUT) 
GPIO.setFunction(25, GPIO.OUT) 

def dist_from_color(img_color): 
    matrix = (img.getNumpy()[:,:,[2,1,0]] - color) ** 2 
    width, height = img.size() 
    return matirx.sum() ** 0.5/(width * height) 

def forward(): 
    GPIO.digitalWrite(18, GPIO.HIGH) 
    GPIO.digitalWrite(10, GPIO.LOW) 

def reverse(): 
    GPIO.digitalWrite(18, GPIO.LOW) 
    GPIO.digitalWrite(10, GPIO.HIGH) 

def right(): 
    GPIO.digitalWrite(27, GPIO.HIGH) 
    GPIO.digitalWrite(25, GPIO.LOW) 

def left(): 
    GPIO.digitalWrite(27, GPIO.LOW) 
    GPIO.digitalWrite(25, GPIO.HIGH) 

def strop(): 
    GPIO.digitalWrite(18, GPIO.LOW) 
    GPIO.digitalWrite(10, GPIO.LOW) 
    GPIO.digitalWrite(27, GPIO.LOW) 
    GPIO.digitalWrite(25, GPIO.LOW) 

@webiopi.macro 
def ButtonForward(): 
    forward() 

@webiopi.macro 
def ButtonReverse(): 
    reverse() 

@webiopi.macro 
def ButtonTrunLeft(): 
    left() 

@webiopi.macro 
def ButtonTrunRight(): 
    right() 
@webiopi.macro 
def ButtonStop(): 
    stop() 
def main(): 
    try: 
    print(__doc__) 
    GPIO.digitalWrite(4, GPIO.HIGH) 
    GPIO.digitalWrite(17, GPIO.HIGH) 
    server = webiopi.Server(port=80) 
    server.addMacro(ButtonForward) 
    server.addMacro(ButtonReverse) 
    server.addMacro(ButtonTrunLeft) 
    server.addMacro(ButtonTrunRight) 
    server.addMacro(ButtonStop) 
    cam = SimpleCV.Camera() 
    background = cam.getImage() 
    print("Tespite Baslaniyor") 
    while True: 
     try: 
      background = cam.getImage() 
      time.sleep(0.1) 
      img = cam.getImage() 
      to_show = img 
      to_show.save("../../..//usr/share/webiopi/htdocs/aaa.jpg") 
      dist = ((img - background) + (background - img)).dilate(6) 
     except(KeyboardInterrupt, SystemExit): 
      del cam 
      server.stop() 

它给了我这个eror即使我没有线86

文件“tespit.py”,行86^ IndentationError:意外取消缩进 请帮助我,我也解决不了问题......

+3

它看起来像你的'除了'需要额外的空间在它前面我认为 – EdChum

+1

其实我认为你的缩进不是很正确的在你的第一个'try'块 – EdChum

+1

你有两个'try's和只有一个'除'。有些事情不对。 – Kevin

回答

4

你有两个try语句,并且只有一个except声明。

为第一个try添加一个except子句,在main函数的末尾缩进4个空格,它将起作用。

86行刚刚超出代码的末尾,并且是Python正在寻找匹配的except的位置。

0

每个try必须至少有一个匹配的except。 您应该在停止Webiopi服务器之前清理GPIO。

相关问题