Voir le sujet précédentAller en basVoir le sujet suivant
e1654d
Niveau 7

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par e1654d Lun 9 Avr - 15:40
En Python 3, l'encodage par défaut est UTF8. Par conséquent, il suffit d'enregistrer ses scripts en UTF8 et on n'a rien à configurer au niveau Python proprement dit (pour enregistrer en UTF8, normalement il doit y avoir un menu déroulant ou une option du même genre dans la boit de dialogue Enregistrer sous ; dans d'autres éditeurs, ce réglage se trouve sous Propriétés).

De façon plus immédiate : en supprimant toute lettre accentuée et tout caractère "spécial", on élimine le problème parce que ce problème d'encodage ne se pose normalement pas pour les fichiers qui sont entièrement composés de lettres et caractères usuels en anglais (en fait ceux du codage ASCII).
Furby
Furby
Niveau 9

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Furby Lun 9 Avr - 18:39
Merci Ed,
ton explication est déjà plus à ma portée, et j'ai effectivement utilisé un accent en mettant un titre dans un graphique (fougère, je suis sur le dessin de la fougère de barnsley). Mais même en le supprimant, ça n'a rien changé.
Je travaille avec Amiens python, et dans le menu "enregistrer sous" je n'ai pas de choix, je ne trouve pas non plus d'options propriétés. Par contre dans le menu déroulant "Edition" j'ai un sous menu "format de fichier" qui était coché sur UTF16-LE, j'ai modifié en cochant UTF8 mais ça n'a pas résolu le problème non plus.
Je suis toujours preneur de conseils (adaptés à une quiche en informatique que je suis). A noter que j'ai recopié cet algo sur un ordinateur du lycée, enregistré puis ré-ouvert et ça a fonctionné, c'est sur mon PC que ça ne marche pas.
ycombe
ycombe
Monarque

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par ycombe Lun 9 Avr - 18:46
Amiens python, c'est normalement Python 2.

_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".

Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
Voltaire
Voltaire
Niveau 10

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Voltaire Lun 9 Avr - 20:22
AmiensPyton (ou Edupython), est en version 2 pour Edupython à proprement parler, mais est maintenant depuis un bon moment basé sur un moteur python 3. Distribution gratuite, très agréable à l'emploi (les bibliothèques standard sont déjà présentes, et on peut, ou non, utiliser les bibliothèques développées par Amiens. TIent (et fonctionne) sur une clé USB.
Voltaire
Voltaire
Niveau 10

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Voltaire Lun 9 Avr - 20:29
Et si vous voulez utiliser des caractères accentués dans les commentaires ou les expressions, le programme doit commencer par :
# coding=UTF-8
Furby
Furby
Niveau 9

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Furby Lun 9 Avr - 20:41
Mais comme dit plus haut, le problème ne vient pas des caractères accentués.
avatar
e1654d
Niveau 7

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par e1654d Lun 9 Avr - 20:44
Si le document était en UTF16-LE, il est possible qu'un caractère invisible BOM ait été placé au tout début. Dans l'encodage UTF16, un caractère est codé sur plusieurs octets (bytes) et il y a plusieurs conventions quant à l'ordre dans lequel on les écrit ; on utilise souvent un caractère sans signification mais qui permet d'indiquer cet ordre (byte-order-marking). Ce caractère non plus n'est pas valide en ASCII.

Si le document n'est pas secret, il est possible d'utiliser l'éditeur hexadécimal en ligne https://hexed.it/
Dans cet affichage, le caractère BOM devrait apparaitre sous le forme de deux octets FF FE (ou FE FF si l'ordre a été renversé entre temps) ; il suffit de remplacer chacun de ces deux caractères par le code hexadécimal 20 (32 en décimal), ce qui correspond à des espaces.
Furby
Furby
Niveau 9

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Furby Lun 9 Avr - 20:55
Je voulais mettre mon fichier en PJ, mais le format .py n'est pas accepté.
Furby
Furby
Niveau 9

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Furby Lun 9 Avr - 20:59
J'ai pour mes deux premiers caractères EF et BB.
avatar
e1654d
Niveau 7

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par e1654d Lun 9 Avr - 21:04
EF BB BF c'est un BOM en UTF8. Si le fichier est bien lu en UTF8 il ne devrait pas y avoir de problème ; mais comme il semble être lu en ASCII… On peut aussi éliminer ces 3 octets en les remplaçant par des codes 20.
Furby
Furby
Niveau 9

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par Furby Lun 9 Avr - 21:11
Oui c'est ça, j'ai EF BB BF. Je modifie en remplaçant par 20 20 20, et ensuite ? Comment enregistrer ces modifs ?
Merci ed, ça m'ennuie de squatter le forum pour ça, aussi je pose les questions suivantes maintenant :
- bien que je ne comprenne rien à ce que je fais, si ça marche, il faudra que je le refasse pour chaque algo créé sur mon ordi ?
- y a un moyen simple pour faire en sorte que mon ordi ne lise pas ces fichiers en ascii ?
avatar
cedricVR
Niveau 2

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par cedricVR Ven 20 Avr - 13:57
Pour obtenir de l'aide sur Python en français, voir aussi le canal "python-fr" de Freenode:

http://irc.lc/freenode/python-fr

C'est un chat IRC, ça s'utilise grosso-modo comme n'importe quelle messagerie instantanée.
avatar
cedricVR
Niveau 2

[Math] Aide python - Page 2 Empty Re: [Math] Aide python

par cedricVR Ven 20 Avr - 16:25
Sinon pour en revenir à ton problème d'encodage, ça devrait suffire de t'assurer que sur chaque machine que tu utilises:

  • La version de Python utilisée est "3 quelque chose"
  • L'éditeur que tu utilise a son encodage réglé à UTF-8
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum