Ошибка файла существует при попытке открыть его с помощью open (имя файла, 'x') - проблема чувствительности к регистру Windows в нижнем и верхнем регистре - PullRequest
0 голосов
/ 26 февраля 2019

Я нахожусь в Windows, и ни один из файлов не существует в моем каталоге.

Мне трудно понять, почему:

fid = open('L01A.txt', 'x')
fid.write('A') 
fid.close()

fid = open('L01a.txt', 'x')
fid.write('a')
fid.close()

дает мне:

[Errno 17] Файл существует: 'L01a.txt'.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы открываете свой файл в режиме «x», который используется только для создания файла.Из документа

'x', открытого для эксклюзивного создания, не удается, если файл уже существует

Вы должны использовать другой режим, вот полезная ссылка на описания кразличные режимы, которые могут быть вам полезны

встроенная функция открытия Python: разница между режимами a, a +, w, w + и r +?

Редактировать: По-видимомуваша ошибка в том, что вы не можете создать 2 файла с именами L01A и L01a в двух разных случаях, так как файловая система Windows не чувствительна к регистру.Вы не можете создавать два разных файла.

Если вам абсолютно необходимо учитывать регистр символов, вы можете включить NTFS для этого в каталоге, запустив PowerShell администратора и выполнив fsutil.exe file setCaseSensitiveInfo C:\folder enable

В соответствии сэтот поток, вы можете включить это для всех подкаталогов, вот способ сделать это Рекурсивно применить setCaseSensitiveInfo ко всем папкам и подпапкам .

Спасибо Лалуш за нить.

...