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

Re: [Math] Aide python

par e1654d le Lun 9 Avr 2018 - 17: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).
avatar
Furby
Niveau 7

Re: [Math] Aide python

par Furby le Lun 9 Avr 2018 - 20: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.
avatar
ycombe
Modérateur

Re: [Math] Aide python

par ycombe le Lun 9 Avr 2018 - 20: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".
avatar
Voltaire
Niveau 6

Re: [Math] Aide python

par Voltaire le Lun 9 Avr 2018 - 22: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.
avatar
Voltaire
Niveau 6

Re: [Math] Aide python

par Voltaire le Lun 9 Avr 2018 - 22: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
avatar
Furby
Niveau 7

Re: [Math] Aide python

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

Re: [Math] Aide python

par e1654d le Lun 9 Avr 2018 - 22: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.
avatar
Furby
Niveau 7

Re: [Math] Aide python

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

Re: [Math] Aide python

par Furby le Lun 9 Avr 2018 - 22:59
J'ai pour mes deux premiers caractères EF et BB.
e1654d
Niveau 6

Re: [Math] Aide python

par e1654d le Lun 9 Avr 2018 - 23: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.
avatar
Furby
Niveau 7

Re: [Math] Aide python

par Furby le Lun 9 Avr 2018 - 23: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 ?
cedricVR
Niveau 1

Re: [Math] Aide python

par cedricVR le Ven 20 Avr 2018 - 15: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.
cedricVR
Niveau 1

Re: [Math] Aide python

par cedricVR le Ven 20 Avr 2018 - 18: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
Contenu sponsorisé

Re: [Math] Aide python

par Contenu sponsorisé
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