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