¿Qué significa ‘wb’ en este código, usando Python?

Código:

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

Modo de archivo , escritura y binario. Ya que estás escribiendo un archivo .jpg, se ve bien.

Pero si se supone que debes leer ese archivo jpg necesitas usar 'rb'

Más información

En Windows, ‘b’ añadido al modo abre el archivo en modo binario, por lo que también hay modos como ‘rb’, ‘wb’ y ‘r + b’. Python en Windows hace una distinción entre archivos de texto y binarios; los caracteres de fin de línea en los archivos de texto se modifican automáticamente de forma automática cuando se leen o escriben los datos. Esta modificación detrás de escena de los datos del archivo está bien para los archivos de texto ASCII, pero dañará los datos binarios como los archivos JPEG o EXE.

El wb indica que el archivo está abierto para escribir en modo binario.

En los sistemas Unix (Linux, Mac OS X, etc.), el modo binario no hace nada: tratan los archivos de texto de la misma manera que cualquier otro archivo. En Windows, sin embargo, los archivos de texto se escriben con finales de línea ligeramente modificados. Esto causa un grave problema al tratar con archivos binarios reales, como archivos exe o jpg . Por lo tanto, al abrir archivos que no deben ser texto, incluso en Unix, debe usar wb o rb . Use liso w o r solo para archivos de texto.

Referencia: http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

Ese es el modo con el que está abriendo el archivo. “wb” significa que está escribiendo en el archivo (w), y que está escribiendo en modo binario (b).

Echa un vistazo a la documentación para más información: clicky