Produit du jour : Microsoft Money 2005 à partir de 23.00 € (Logiciel)
06/01/2005 22:10 par Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle. | 6 réponse(s) | Signaler un contenu abusif ou erroné
Bonsoir !

Pb import et encodage.

Soit deux scripts, "i1.py" et "i2.py" (attention, ils sont très compliqués)
:

i1.py :
import i2
print i2.GlobalA

i2.py :
GlobalA ="azerty"


Lorsqu'on lance i1.py, ça marche. Python, c'est fabuleux !





Ah, oui, il y a quand même un truc. Si on ajoute des encodages par défaut
(genre # -*- coding: cp1252 -*-), des fois ça marche, des fois ça accroche.



Résumé :


i1.py :
import i2
print i2.GlobalA

i2.py :
GlobalA = "azerty"

OK

==============================

i1.py :
import i2
print i2.GlobalA

i2.py :
# -*- coding: cp1252 -*-

GlobalA = "azerty"

SyntaxError

==============================

i1.py :
import i2
print i2.GlobalA

i2.py :
# -*- coding: utf-8 -*-

GlobalA = "azerty"

OK

==============================

i1.py :
# -*- coding: utf-8 -*-

import i2
print i2.GlobalA

i2.py :
# -*- coding: utf-8 -*-

GlobalA = "azerty"

OK

==============================

i1.py :
# -*- coding: utf-8 -*-

import i2
print i2.GlobalA

i2.py :
# -*- coding: cp1252 -*-

GlobalA = "azerty"

SyntaxError

==============================

i1.py :
# -*- coding: utf-8 -*-

import i2
print i2.GlobalA

i2.py :
GlobalA = u"azérty" #noter l'accent et l'unicode

OK

==============================

i1.py :
# -*- coding: utf-8 -*-

import i2
print i2.GlobalA

i2.py :
# -*- coding: utf-8 -*-

GlobalA = u"azérty" #noter l'accent et l'unicode

UnicodeDecodeError

==============================


Je précise que, dans tous les cas, les fichiers sont enregistrés en ANSI.
Tous les tests ont été faits avec Python 2.4, sous W-XP, et dans l'Ardèche,
avec un portable, sur lequel j'ai tapé les scripts, avec mes petits doigts
trapus.


Des avis, ou des suggestions ?



--
Michel Claveau
Voir les 6 réponses - Poster une réponseCe sujet ne répond pas à vos besoins ? Posez votre question !
mots-clés : encodage, import Catégories : Développement, Langage Python
 
Caractère accentué
[Wilk ?] divers pb utf-8
 

 

Téléchargements

Tous les téléchargements