Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 26 February 2013 14:32

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

 

Pied de page des forums

Powered by FluxBB