Что означает " wb " в этом коде, используя Python?


код:

file('pinax/media/a.jpg', 'wb')
4 60

4 ответа:

файл режим, запись и двоичный код. Так как вы пишете .jpg файл, он выглядит нормально.

но если вы должны прочитать этот файл jpg, вам нужно использовать 'rb'

Подробнее

в Windows, 'b' добавляется в режим открывает файл в двоичном режиме, так есть также такие режимы, как 'rb', 'wb', и 'r+b'. Python на Windows делает различие между текстовыми и двоичными файлы; символы конца строки в текстовые файлы автоматически изменены немного при чтении или записи данных. Эта закулисная модификация к файл данных-это нормально, текстовых файлы, но это повредит двоичные данные например, в файлах JPEG или EXE.

The wb указывает, что файл открыт для записи в двоичном режиме.

в системах Unix (Linux, Mac OS X и др.), двоичный режим ничего не делает - они обрабатывают текстовые файлы так же, как и любые другие файлы. Однако в Windows текстовые файлы записываются со слегка измененными окончаниями строк. Это вызывает серьезную проблему при работе с реальными двоичными файлами, такими как exe или jpg файлы. Поэтому при открытии файлов, которые не должны быть текстовыми, даже в В Unix, вы должны использовать wb или rb. Используйте простой w или r только для текстовых файлов.

Ссылка:http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

также вы должны рассмотреть возможность использования open вместо file. file был устаревшим в Python 2 (не удалось найти, какая версия) и был удален в py3k. (спасибо Скотт)

посмотреть этот вопрос для получения дополнительной информации.

Это режим, с помощью которого вы открываете файл. "wb" означает, что вы записываете в файл (w), и что вы пишете в двоичном режиме (b).

проверьте документацию для получения: клик