Die Rolle von '#' in einer Python 'if':

9

Ich habe kürzlich ein ArcGIS-Modell nach Python exportiert und habe das Skript überprüft. Die folgende Zeile verwirrt mich:

if TRU_W_DatableFeatures == '#' or not TRU_W_DatableFeatures:

Welche Rolle spielt das '#'?

Kevin
quelle

Antworten:

12

Sie werden feststellen, dass dies TRU_W_DatableFeatureseine optionale Eingabe ist. Wenn ArcGIS ein Python-Skript mit optionalen Argumenten aufruft, wird es #anstelle eines nicht ausgefüllten optionalen Arguments übergeben. Dies liegt daran, dass Python-Argumente positionell sind.

Andernfalls, wenn Sie dieses Skript von Python anstelle von ArcGIS aufgerufen haben, können Sie es (möglicherweise) nicht festlegen TRU_W_DatableFeatures.

Diese ifAnweisung prüft also die Existenz von TRU_W_DatableFeatures, und was auch immer in dieser ifAnweisung enthalten ist, wird nur ausgeführt, wenn es TRU_W_DatableFeaturesexistiert.

om_henners
quelle