Каковы различия, если таковые имеются, в том, как Python работает с открытием / закрытием файла в Windows по сравнению с тем же в Linux? Я понимаю, что в Linux ядро действует как интерфейс между программным обеспечением и данными, хранящимися в аппаратном блочном устройстве. Windows в основном делает то же самое, или что-то скрытое, что делает Python для обеспечения правильной интерпретации информации?

1 ответ1

1

В Windows вызов API CreateFile используется для открытия или создания файла. Это возвращает дескриптор файла, который аналогичен дескриптору файла в Linux. С этой точки зрения, это работает примерно так же.

С другой стороны, как программист на Python, вы должны знать, что Python делает некоторые вещи по-другому, что не связано с низкоуровневой реализацией. Например, в Linux открытие файла в двоичном режиме работает так же, как в текстовом режиме, но в Windows, где все ожидает окончания строки CRLF, если вы открываете файл в текстовом режиме, Python молча преобразует ваш \n в \r\n , Это, очевидно, плохо, если вы пишете двоичные данные. Это все хорошо документировано, поэтому вам не нужно беспокоиться о деталях уровня ядра.

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