Python Glossary English

все Python 3sysфункция

sys.getfilesystemencoding()

кодировки

Возвращает кодировку, в которой Python переводит имена файлов и путей между str и байтами ОС; на современных системах обычно 'utf-8'.

Синтаксис

sys.getfilesystemencoding()

Речь только об именах файлов, переменных окружения и аргументах командной строки, а не о содержимом файлов — его кодировку задаёт encoding в open(). На Windows с Python 3.6 здесь 'utf-8' (а не 'mbcs'). Перекодировать путь вручную не нужно: os.fsencode() и os.fsdecode() делают это с правильной кодировкой и обработчиком ошибок.

Примеры

import sys
print(sys.getfilesystemencoding())  # → ? utf-8
import os, sys
enc = sys.getfilesystemencoding()
err = sys.getfilesystemencodeerrors()
print(os.fsencode('файл.txt') == 'файл.txt'.encode(enc, err))  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности