PDA

View Full Version : [Python] Syntax Error


maforast
30-04-2007, 16:47
Salve a tutti qualcuno saprebbe dirmi il motivo per cui mi viene riscontrato un errore di sintassi a questo punto del codice riportato in basso

self._vid = v4l.video('/dev/video')

non capisco il motivo forse perchč sono un newbie di Python



class ProgettoRobot(QMainWindow):

def __init__(self,parent = None,name = None,fl = 0):

"""Imposta l'interfaccia grafica del progetto"""

QMainWindow.__init__(self,parent,name,fl)

self.q = QPixmap () ##Pixmap di appoggio

## Inizializzazione sorgente video
self._vid = v4l.video('/dev/video')
self._cap = self._vid.getCapabilities()
##print "Device Name: %s" % cap[0]
##print "Type: %d" % cap[1]
##print "Channels: %d" % cap[2]
##print "Audios: %d" % cap[3]
##print "Maximum Width: %d" % cap[4]
##print "Maximum Height: %d" % cap[5]
##print "Minimum Width: %d" % cap[6]
##print "Minimum Height: %d" % cap[7]
self._vid.setChannel(0) # TV
##self._cam = Device()

self._vid.setupImage(352, 288)
##self._cam.setResolution(352,288)

##__________________________________


Grazie

Ziosilvio
30-04-2007, 18:17
Usa il tag "code", per cortesia; tanto pił che, in Python, l'indentazione determina i blocchi di codice...

maforast
30-04-2007, 19:25
Usa il tag "code", per cortesia; tanto pił che, in Python, l'indentazione determina i blocchi di codice...

Si scusa nn sapevo come si fa a mettere il codice tra tag code ho visto solo html e php...

Cmq Ho risolto in questo modo anche se le righe di codice erano indentate bene alcune di esse erano posizionate col tab e non con lo spazio e quindi sono andato in crisi a capire il perche mi ha aiutato il fatto di ricancellare tutto e scrivere d'accapo con solo spazzi per l'indentazione


Saluti

marco.r
30-04-2007, 19:27
class ProgettoRobot(QMainWindow):

def __init__(self,parent = None,name = None,fl = 0):

"""Imposta l'interfaccia grafica del progetto"""

QMainWindow.__init__(self,parent,name,fl)

self.q = QPixmap () ##Pixmap di appoggio

## Inizializzazione sorgente video
self._vid = v4l.video('/dev/video')
self._cap = self._vid.getCapabilities()
##print "Device Name: %s" % cap[0]
##print "Type: %d" % cap[1]
##print "Channels: %d" % cap[2]
##print "Audios: %d" % cap[3]
##print "Maximum Width: %d" % cap[4]
##print "Maximum Height: %d" % cap[5]
##print "Minimum Width: %d" % cap[6]
##print "Minimum Height: %d" % cap[7]
self._vid.setChannel(0) # TV
##self._cam = Device()

self._vid.setupImage(352, 288)
##self._cam.setResolution(352,288)

##__________________________________



Perche' c'e' un indentazione "gratuita": in python l'indentazione viene usata per indicare i blocchi di codice (l'equivalente di { e } in C++/Java per capirsi). Peggio ancora: sono mescolati spazi e tabulazioni. Per python valgono sempre otto spazi per cui se il tuo editor usa un valore diverso (4?) i problemi sono assicurati, imposta il tuo editor per usare sempre gli spazi al posto delle tabulazioni