J'ai vu quelques py, scripts qui utilisent ce à le haut du script. Dans ce cas, il faut utiliser?
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
J'ai vu quelques py, scripts qui utilisent ce à le haut du script. Dans ce cas, il faut utiliser?
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
Selon les documents: Ceci vous permet de basculer de la valeur par défaut ASCII à d'autres encodages UTF-8, ce qui le runtime de Python va utiliser chaque fois que cela a pour décoder un tampon de chaîne unicode.
Cette fonction est uniquement disponible à Python heure de démarrage, quand Python analyses de l'environnement. Il doit être appelé dans un système à l'échelle de module, sitecustomize.py Après ce module a été évalué, le setdefaultencoding() la fonction est supprimée à partir du module sys.
La seule façon de l'utiliser est avec un rechargement hack qui apporte de l'attribut.
Aussi, l'utilisation de sys.setdefaultencoding() a toujours été découragé, et il est devenu un no-op dans py3k. L'encodage est câblé à l'utf-8 et la modification des il génère une erreur.
Je suggère quelques conseils pour readup:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
u = u'moçambique'
print u.encode("utf-8")
print u
chmod +x test.py
./test.py
moçambique
moçambique
./test.py > output.txt
Traceback (most recent call last):
File "./test.py", line 5, in <module>
print u
UnicodeEncodeError: 'ascii' codec can't encode character
u'\xe7' in position 2: ordinal not in range(128)
sur shell fonctionne , l'envoi de sdtout pas , donc, c'est une solution de contournement, d'écrire sur la sortie standard stdout .
J'ai fait une autre démarche, qui n'est pas exécuté si sys.la sortie standard stdout.l'encodage n'est pas de définir, ou en d'autres termes , la nécessité d'exportation PYTHONIOENCODING=UTF-8 premier à écrire sur la sortie standard stdout.
import sys
if (sys.stdout.encoding is None):
print >> sys.stderr, "please set python env PYTHONIOENCODING=UTF-8, example: export PYTHONIOENCODING=UTF-8, when write to stdout."
exit(1)
donc, en utilisant le même exemple:
export PYTHONIOENCODING=UTF-8
./test.py > output.txt
va travailler
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.