Я использую OSX El Capitan (10.11.3) и подключил внешний жесткий диск в формате NTFS. У меня проблемы с чтением некоторых файлов с «акцентами».
bash> ls
Document re´ponse - Partie 2.docx Test métier.pdf
И когда я делаю ls -l
:
bash> ls -l
ls: Test métier.pdf: No such file or directory
total 1600
-rwxr-xr-x 2 guillaumethomas staff 323153 8 mar 2009 Document re´ponse - Partie 2.docx
Я думаю, что есть проблемы с кодировкой, так как:
python> import os
python> os.listdir('.')
['Document re\xc2\xb4ponse - Partie 2.docx', 'Test me\xcc\x81tier.pdf']
python> map(lambda s: s.decode('Utf8'), os.listdir('.'))
[u'Document re\xb4ponse - Partie 2.docx', u'Test me\u0301tier.pdf']
Оба имени файла закодированы в utf8 и:
- В файле 1 используется острый акцент с символом Unicode U+00B4
- В файле 2 используется сочетание острого акцента с символом Юникода U+0301
Мое лучшее предположение здесь - то, что кодировка - коренная причина всего этого беспорядка. Несколько вопросов:- Как вы думаете, это так?
- Как я могу решить эту проблему?
- Как я могу быть уверен, что файл существует (file
, все команды du
дают таких ошибок в No such file or directory
)?