J’ai un fichier nommé ‘xxx.py’ comme ceci:
print("a simple ssortingng")
et quand je cours comme ça (Python 3):
python xxx.py >atextfile.txt
Je reçois un fichier unicode.
Je voudrais un fichier ascii.
Cela ne me dérange pas si une exception est levée si un caractère non ascii est tenté d’être imprimé.
Quelle est une simple modification que je peux apporter à mon code et qui produira des caractères ascii?
Mes recherches aboutissent à des solutions qui semblent toutes trop verbeuses pour un problème aussi simple.
[Modifier] pour signaler ce que j’ai appris en paramétrant LC_CTYPE:
Je cours sur Windows 7.
Le codage stdout
est défini par l’environnement qui exécute le script python, par exemple:
$ python -c "import sys; print(sys.stdout.encoding)" UTF-8 $ LC_CTYPE=ascii python -c "import sys; print(sys.stdout.encoding)" US-ASCII
Essayez d’ajuster votre environnement avant d’exécuter le script. Vous pouvez forcer la valeur d’encodage pour Python en définissant la variable d’environnement PYTHONIOENCODING
.