2

Я использую 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 и:

Мое лучшее предположение здесь - то, что кодировка - коренная причина всего этого беспорядка. Несколько вопросов:- Как вы думаете, это так? - Как я могу решить эту проблему? - Как я могу быть уверен, что файл существует (file , все команды du дают таких ошибок в No such file or directory )?

1 ответ1

1

MacOS X не может читать имена файлов с сочетанием акцентов, как указано здесь:https://discussions.apple.com/thread/3545860?tstart=0

Я не смог понять, почему.

Я исправил это, изменив имена файлов в Linux с помощью функции нормализации уникальных данных Python: https://docs.python.org/2/library/unicodedata.html#unicodedata.normalize.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .