QGIS Python-Konsole "Indentation Error", Python-Editor kein "Indentation Error"

Chr. Enderle enderlec at staff.uni-marburg.de
Mo Sep 26 13:43:26 CEST 2022


Hallo Liste,

mir ist aufgefallen, dass die Python-Konsole in QGIS (3.22) bei 
Leerzeilen im Code "IndentationError" meldet, während der Python-Editor 
dasselbe Script ohne Fehlermeldung verarbeitet.

Es handelt sich um einzelne Leerzeilen gefolgt von einem Kommentar, die 
ich z.B. im Verlauf einer for-Schleife wegen der Übersichtlichkeit 
eingefügt habe. Einen Beispiel-Ausschnitt aus dem Script siehe unten.  
In dem Beispiel haben die Leerzeilen keine Einrückung. Ich füge das 
gesamte Script per copy & paste in die Konsole bzw. den Editor ein. In 
der Konsole führt es zur genannten Fehlermeldung. Wenn das Script 
dagegen aus dem Editor heraus gestartet wird, läuft es fehlerfrei.

Gibt es dafür eine Erklärung?

Wo im Code Einrückungen nötig sind, sind sie alle mit Tabulator(en) 
gesetzt, keine Leerzeichen.

-------------------------------------------------------------------------------------------

# Iterating over the input layer :
for m in municip.getFeatures():
     inh_center = m['EWZ']

# central municipalites with 0 inhabitants must be excluded; the value 
of "center_pos" will be set to -1.
     if inh_center == 0:
         center_pos = -1
         dict = {m.fieldNameIndex('center_pos'):center_pos}
         municip.dataProvider().changeAttributeValues({m.id(): dict})

# Extract by location:
     else:
         key = m['AGS']
         municip.selectByExpression('\"AGS\" = ' + str(key), 
QgsVectorLayer.SetSelection)
         result = 
processing.run("qgis:extractbylocation",{'INPUT':QgsProcessingFeatureSourceDefinition(municip.id(),False),'PREDICATE':4,'INTERSECT':QgsProcessingFeatureSourceDefinition(municip.id(),True),'OUTPUT':'memory:'})
         extracted = result['OUTPUT']
         count_all = extracted.featureCount()
         countsmall = 0

----------------------------------------------------------------------------------------

Viele Grüße,

Christiane


-- 
Christiane Enderle, MSc
Philipps-Universität Marburg
Fachbereich Geographie
Deutschhausstr. 10
35037 Marburg
Tel. +49 (0)6421-2822179
Fax +49 (0)6421-2828950



Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste