Что означает " wb " в этом коде, используя Python?
код:
file('pinax/media/a.jpg', 'wb')
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).
проверьте документацию для получения: клик