Saltar al contenido

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

Solución:

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

Pero si se supone que debe leer ese archivo jpg, debe usar 'rb'

Más información

En Windows, la ‘b’ agregada 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 final de línea en archivos de texto se modifican ligeramente automáticamente cuando se leen o escriben datos. Esta modificación detrás de escena de los datos de los archivos está bien para los archivos de texto ASCII, pero corromperá los datos binarios como esos en los archivos JPEG o EXE.

los wb indica que el archivo está abierto para escritura en modo binario.

Al escribir en modo binario, Python no realiza cambios en los datos a medida que se escriben en el archivo. En modo texto (cuando el b está excluido como en solo w o cuando especifica el modo de texto con wt), sin embargo, Python codificará el texto según la codificación de texto predeterminada. Además, Python convertirá finales de línea (n) a cualquiera que sea el final de línea específico de la plataforma, lo que dañaría un archivo binario como un exe o png expediente.

Por lo tanto, el modo de texto debe usarse al escribir archivos de texto (ya sea usando texto sin formato o un formato basado en texto como CSV), mientras que el modo binario debe usarse al escribir archivos que no son de texto, como imágenes.

Referencias:

https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files https://docs.python.org/3/library/functions.html#open

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).

Consulte la documentación para obtener más información: clicky

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *