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ă șiopen(). Dă mereuencoding="utf-8"la deschiderea fișierelor text.
Comenzi înrudite
os.fspath(), os.fsencode() și os.fsdecode(): Conversii între obiecte cale, texte și bytes, după codificarea sistemului de fișiere.str.encode() și bytes.decode(): Transformă textul în octeți (encode) și octeții înapoi în text (decode), după o codificare.open() și with: Deschide un fișier pentru citire sau scriere; cu with, fișierul este închis automat.