Кодировка файловой системы
Коллеги, подскажите пожалуйста способы определения кодировки файловой системы (если они существуют).
Задача:
В переменную path я получаю путь, уже преобразованный во внутренний Unicode.
Потенциально в пути содержатся русские буквы.
Перед тем как открыть файл в win32 я пишу: path = path.encode("cp1251").
Если это будет *nix, то вполне возможно, что следует писать: path = path.encode("koi8-r").
Самым тупым способом может быть следующий:
Вопрос в том, есть ли способ определить кодировку файловой системы не отталкиваясь от платформы?
P.S.: Где-то я определённо торможу. Подскажите где именно =)
UPDATE: Победитель конкурса
kolbusa с подсказкой os.path.supports_unicode_filenames = True =)
Спасибо за ваши ответы!
Задача:
В переменную path я получаю путь, уже преобразованный во внутренний Unicode.
Потенциально в пути содержатся русские буквы.
Перед тем как открыть файл в win32 я пишу: path = path.encode("cp1251").
Если это будет *nix, то вполне возможно, что следует писать: path = path.encode("koi8-r").
Самым тупым способом может быть следующий:
if sys.platform.startswith("win"): path = path.encode("cp1251") elif sys.platform.startswith("linux"): path = path.encode("koi8-r") #... и так далее ...Но ведь не факт, что под *nix будет KOI8-R, несмотря на то, что это исторический стандарт.
Вопрос в том, есть ли способ определить кодировку файловой системы не отталкиваясь от платформы?
P.S.: Где-то я определённо торможу. Подскажите где именно =)
UPDATE: Победитель конкурса
Спасибо за ваши ответы!
