sys.getdefaultencoding(), getfilesystemencoding() și getfilesystemencodeerrors() în Python

Interpretorul (sys) Python 3.0+ (getfilesystemencodeerrors: 3.6+)

Codificările folosite implicit de interpretor și pentru numele de fișiere.

Sintaxă
sys.getdefaultencoding()
sys.getfilesystemencoding()
sys.getfilesystemencodeerrors()

Ce face sys.getdefaultencoding(), getfilesystemencoding() și getfilesystemencodeerrors()

getdefaultencoding() este codificarea folosită de str.encode() fără argument: în Python 3 este mereu 'utf-8'. getfilesystemencoding() este codificarea numelor de fișiere (de obicei 'utf-8'), iar getfilesystemencodeerrors() modul de tratare a numelor invalide ('surrogateescape' pe Unix).

Codificarea implicită a conținutului fișierelor deschise cu open() fără encoding este alta: locale.getencoding(), care pe Windows poate fi cp1250.

Ce returnează

Texte.

Exemple

Exemplul 1: Codificările interpretorului

import sys
print(sys.getdefaultencoding(), sys.getfilesystemencoding(), sys.getfilesystemencodeerrors())

Rezultat

utf-8 utf-8 surrogateescape

Greșeli frecvente

  • Crezi că getdefaultencoding() controlează și open(). Dă mereu encoding="utf-8" la deschiderea fișierelor text.

Comenzi înrudite