OK Cyrille,
Merci pour toutes ces nouvelles pistes...
Bien amicalement,
Abdel.
----- Original Message -----
From: "Cyrille" <[email protected]>
To: <[email protected]>
Sent: Monday, March 07, 2016 12:17 AM
Subject: [progliste] Re: python 3- problème de décodage-encodage
Salut Abdel,
Je pense que Python peut s'installer un peu partout. Ca dépend des
distributions (pour l'emplacement par défaut) et de ce que choisira
l'utilisateur à l'installation s'il modifie le dossier d'installation.
J'ai 2 suggestions à explorer si tu veux rechercher les versions de Python
sur un PC :
- il y a des clés dans la base de registre qui indiquent les versions de
Python installées. Je ne suis pas capable de te dire lesquelles, mais
peut-être que Google le pourra...
- les installateurs Python ajoutent aussi souvent dans la variable
d'environnement PATH le chemin vers python.exe donc ça peut aussi être des
endroits où chercher
Enfin, il se peut aussi que le Python ne soit pas référencé ni dans la
base de registre, ni dans le path, pour une version portable par exemple.
Dans ce cas, l'utilisateur devrait pouvoir modifier manuellement une
option (par exemple du 6pad+++.ini) pour ajouter le chemin vers le Python
qui l'intéresse.
Bonne soirée.
Cyrille
-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de Abdel
Envoyé : dimanche 6 mars 2016 09:00
À : [email protected]
Objet : [progliste] Re: python 3- problème de décodage-encodage
Coucou Yannick,
Dans la méthode Popen du module subprocess, il faut ajouter le paramètre
universal_newlines et fixer sa valeur à True, pour éviter de devoir
décoder
les sorties, qui seront alors directement en unicode.
Début de code python
# Les 2 lignes de code plus bas permettent d'éviter l'ouverture de
la console lors de l'exécution du code.
# La variable si sera alors affectée en valeur au paramètre
startupinfo de la méthode Popen du module subprocess.
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
# Pour éviter d'avoir à décoder les sorties, on utilise le
paramètre
universal_newlines, que l'on fixe à True.
# exécution
curProc=subprocess.Popen([sPythonPath, sPythonScript],
stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
startupinfo=si, universal_newlines = True)
# La méthode communicate permet de retourner un tuple composé du
stdout et du stderr.
sResultConsole, sResultError = curProc.communicate()
Fin du code python
Au fait Yannick, j'ai installé Python 35 sur mon Windows 8.1, il m'a donné
un peu de fil à retordre.
La destination de son installation est par défaut
"C:\Users\NomUtilisateur\AppData\Local\Programs\Python".
J'ai donc mis à jour le forPython pour que cette destination soit ajoutée
aux chemins à expplorer lors de la création des sous-menus des versions de
Python.
En PJ, la mise à jour.
Voili voilou, bonne fin de Week-end.
Bien amicalement,
Abdel.
-----Message d'origine-----
From: Yannick Youalé
Sent: Sunday, March 6, 2016 4:27 AM
To: [email protected]
Subject: [progliste] python 3- problème de décodage-encodage
Salut à tous,
Juste après avoir exécuté un fichier python avec python2.7, avoir reçu
les messages d'erreur ou de console qu'il a renvoyé, au moment de décodé
l'unicode du fichier, il est déclenché l'erreur suivante:
sResultConsole = sResultConsole.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 21:
invalid continuation byte
Voici la partie de code incriminée:
Début de code python
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
# exécution
curProc=subprocess.Popen([sPythonPath, sPythonScript],
stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
startupinfo=si)
sResultConsole, sResultError = curProc.communicate()
sResultConsole = sResultConsole.decode()
Fin de code python
Comment puis-je régler ce problème ?
Merci d'avance.
Yannick Daniel Youalé
La programmation est une religion. Aimez-la ou quittez-la.
www.visuweb.net
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit�
�
2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�,
je
vous r�pondrez en priv�.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
Progliste :
Pour se dsinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pices jointe sont activs leur taille est limit 2
MO
Pour accder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv, je
vous rpondrez en priv.
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.