Maison développement back-end Tutoriel Python Explication détaillée de l'utilisation de la fonction setdefaultencoding

Explication détaillée de l'utilisation de la fonction setdefaultencoding

Aug 21, 2017 pm 02:55 PM
用法 详解

sys.getdefaultencoding() définit le format d'encodage de chaîne par défaut. Si vous ne spécifiez pas la méthode d'encodage lors de l'encodage et du décodage en python, alors python utilisera l'encodage par défaut.

L'encodage par défaut de python2.x est ascii, c'est pourquoi la plupart des erreurs d'encodage python : "UnicodeDecodeError : le codec 'ascii' ne peut pas décoder l'octet...".

#coding:utf-8, qui a une fonction similaire, est utilisé pour définir l'encodage du code source. S'il n'est pas défini, le code source ne peut pas contenir de chaînes chinoises

. Remarque : Setdefaultencoding a été abandonné depuis python2.7, il ne peut donc pas être utilisé dans python3

Vous devez d'abord recharger le module sys lors de l'appel de setdefaultencoding, car l'instruction import ici n'est pas réellement la première instruction import de sys. , ce qui signifie que cela peut en fait être la deuxième ou la troisième fois que le module sys est utilisé, voici juste une référence à sys, qui ne peut être rechargé qu'en reload.

1

2

3

4

5

#!/usr/bin/env python   

#encoding: utf-8 

import sys   #引用sys模块进来,并不是进行sys的第一次加载 

reload(sys)  #重新加载sys 

sys.setdefaultencoding('utf8')  ##调用setdefaultencoding函数

Copier après la connexion
Alors pourquoi faut-il la recharger, mais la fonction ne peut pas être appelée si elle est directement référencée ? Étant donné que la fonction setdefaultencoding est supprimée après avoir été appelée par le système, elle n'est plus là lorsqu'elle est référencée via l'importation. Par conséquent, le module sys doit être rechargé une fois pour que setdefaultencoding soit disponible et que le codage de caractères actuel de l'interpréteur puisse être. modifié dans le code.

Dans le dossier Lib du répertoire d'installation de python, il y a un fichier appelé site.py, dans lequel vous pouvez trouver main() --> setencoding()-->sys.setdefaultencoding(encoding) , Parce que ce site.py sera automatiquement chargé à chaque démarrage de l'interpréteur python, la fonction principale sera exécutée à chaque fois et la fonction setdefaultencoding sera supprimée dès sa sortie.

1

2

3

4

#!/usr/bin/env python   

#encoding: utf-8 

import sys    

sys.setdefaultencoding('utf8')

Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de l'obtention des droits d'administrateur dans Win11 Explication détaillée de l'obtention des droits d'administrateur dans Win11 Mar 08, 2024 pm 03:06 PM

Explication détaillée de l'obtention des droits d'administrateur dans Win11

Explication détaillée du fonctionnement de la division dans Oracle SQL Explication détaillée du fonctionnement de la division dans Oracle SQL Mar 10, 2024 am 09:51 AM

Explication détaillée du fonctionnement de la division dans Oracle SQL

Comment utiliser correctement la fonction exit en langage C Comment utiliser correctement la fonction exit en langage C Feb 18, 2024 pm 03:40 PM

Comment utiliser correctement la fonction exit en langage C

Utilisation de la fonction WPSdatedif Utilisation de la fonction WPSdatedif Feb 20, 2024 pm 10:27 PM

Utilisation de la fonction WPSdatedif

Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP Mar 19, 2024 pm 04:33 PM

Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP

Explication détaillée de la fonction d'appel système Linux system() Explication détaillée de la fonction d'appel système Linux system() Feb 22, 2024 pm 08:21 PM

Explication détaillée de la fonction d'appel système Linux system()

Analyse détaillée du parcours d'apprentissage du langage C Analyse détaillée du parcours d'apprentissage du langage C Feb 18, 2024 am 10:38 AM

Analyse détaillée du parcours d'apprentissage du langage C

Comment utiliser les raccourcis Apple Comment utiliser les raccourcis Apple Feb 18, 2024 pm 05:22 PM

Comment utiliser les raccourcis Apple

See all articles