#1 Tue 26 February 2013 14:32
Python/Arcgis 10.1 - Question de syntaxe
Bonjour,
Je tente de mettre à jour un champ avec une banale requête Python qui n'est pas digérée et j'avoue ne pas voir où est mon erreur... Un œil avisé pourrait peut être déceler le truc qui m'échappe ?
Code de script :
def Calcul(MonChamp1, MonChamp2,MonChamp3):
if (MonChamp1 == "C" and MonChamp2 == "LA" and MonChamp3 == 5):
return 25
else:
return 9999
Bloc de fonction :
Calcul(!COL1!,!COL2!,!COL3!)
COL1 et COL2 sont en chaine, COL3 est un entier court et ma colonne à mettre à jour est en flottant.
Code erreur :
ERROR 000539: Runtime error SyntaxError: encoding declaration in Unicode string (<string>, line 0)
Ca vous dit quelque chose ? J'ai cherché mais il me semble bien que mes indentations sont bonnes et je n'ai vu aucun caractère qui pourrait poser souci pourtant.
Je vais le convertir en VB script à défaut, mais bon, ça m'agace d'être bloqué pour si peu...
EDIt :
Re,
Comme quoi de poser la question... J'ai édité mon code pour le poster sur le forum, mais en réalité il était comme ceci :
Calcul( !COL1!,!COL2!,!COL3!)
Notez l'espace entre la première parenthèse et !COL1!. A Priori ca viendra de là...
Dernière modification par Robin (Tue 26 February 2013 16:05)
Hors ligne
#2 Tue 26 February 2013 16:04
Re: Python/Arcgis 10.1 - Question de syntaxe
Je crois que j'ai trouvé le vrai souci, finalement. L'espace n'y était pour rien.
Je travaille sous Textpad et il semble que celui ci enregistre un caractère masqué dans le fichier texte créé.
Du coup, j'ai remarqué que faire un copier coller du code depuis l'éditeur texte au lieu du "Charger" permettait de résoudre le souci.
J'espère que ça servira car je me suis cassé les dents longtemps là dessus.
Hors ligne
#3 Tue 26 February 2013 16:15
- Cornet Jérémie
- Participant assidu
- Lieu: Nouméa
- Date d'inscription: 6 Apr 2008
- Messages: 229
Re: Python/Arcgis 10.1 - Question de syntaxe
Par curiosité ton fichier est sous quel encodage ?
UTF-8 avec BOM ?
Hors ligne
#4 Tue 26 February 2013 16:53
Re: Python/Arcgis 10.1 - Question de syntaxe
J'avoue ne jamais trop me préoccuper du codage des fichiers textes d'ordinaire, mais je vais faire attention à l'avenir....En principe le logiciel est configuré pour du ANSI pour PC par défaut pour les nouveaux fichiers d'après les options. Le fichier que j'ai créé avec Arcgis en faisant Enregistrer dans la fenêtre de mise à jour de champ est à priori en en Unicode pour PC et je viens de voir une option à cocher pour écrire au format UTF BOM : c'est mieux, ce codage ?
Hors ligne