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