000539: Message d’erreur de Python

Description

Le calcul utilisé par l’outil Calculate Field (Calculer un champ), Calculate Fields (multiple) (Calculer des champs [multiple]) ou Calculate Value (Calculer une valeur) n’est pas valide.

Cette erreur peut se produire pour des erreurs de syntaxe Python dans une expression ou un bloc de code. Par exemple, lors de l’appel d’une fonction telle que la fonction round, si le crochet de fin est omis, une erreur de syntaxe se produit et l’erreur suivante est générée :

ERROR 000539:   File "<expression>", line 1
    round(3, 2         
SyntaxError: '(' was never closed

Cette erreur peut se produire en cas d’exception lors de l’exécution du code Python. Par exemple, lors de l’ajout d’une valeur numérique et d’une chaîne, Python génère une exception TypeError et l’erreur suivante est générée :

ERROR 000539: Traceback (most recent call last):
  File "<expression>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

L’outil utilise des points d’exclamation (!) comme délimiteurs de champs pour l’expression. Si les délimiteurs sont omis (Classification au lieu de !Classification!), le nom de champ est interprété par Python comme nom non défini et l’erreur suivante est générée :

ERROR 000539: Traceback (most recent call last):
  File "<expression>", line 1, in <module>
NameError: name 'Classification' is not defined

De même, si un nom de champ dans l’expression inclut des délimiteurs, mais que le nom de champ est mal orthographié, qu’il n’existe pas ou que l’alias de champ a été utilisé (si l’alias ne correspond pas au nom de champ), l’outil échoue avec l’erreur suivante :

ERROR 000539: Invalid field Classification Value

Solution

Pour des problèmes Python spécifiques, consultez l’aide Python pour la version de Python que vous utilisez ou consultez l’aide Calculate Field (Calculer un champ), Calculate Fields (multiple) (Calculer des champs [multiple]) ou Calculate Value (Calculer une valeur) pour plus d’informations sur ces outils.