CodeGym /Curso Java /Python SELF PT /Trabalhando com arquivos binários

Trabalhando com arquivos binários

Python SELF PT
Nível 21 , Lição 4
Disponível

5.1 Dados Binários

Trabalhar com arquivos binários no Python é um pouco diferente de trabalhar com arquivos de texto, porque os arquivos binários contêm dados em um formato que não é feito para ser lido por pessoas. Em vez de strings, arquivos binários trabalham com bytes.

Para lidar com arquivos binários, a gente usa a função open() com um modo que inclui a letra 'b' (por exemplo, 'rb' para leitura, 'wb' para escrita e assim por diante).

Exemplos de abertura de arquivos binários:

  • Leitura: 'rb'
  • Escrita: 'wb'
  • Acrescentar: 'ab'
  • Leitura e escrita: 'r+b', 'w+b', 'a+b'

Exemplo:


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

A variável 'content' vai conter um array de bytes.

Dados binários (bytes) são o nível mais baixo e mais básico de representação de dados. Qualquer dado pode ser lido como binário.

Isso significa que um arquivo de texto sempre pode ser lido como binário, mas nem todo arquivo binário pode ser interpretado como texto.

5.2 Lendo Arquivos Binários

Lendo todo o conteúdo do arquivo

O método read() lê todo o conteúdo do arquivo em bytes.

Exemplo:


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Lendo uma quantidade específica de bytes

O método read(n)n bytes do arquivo.

Exemplo:


file = open('example.bin', 'rb')
content = file.read(10)  # Lê os primeiros 10 bytes
print(content)
file.close()

Lendo linha por linha

O método readline() lê uma linha do arquivo. No caso de arquivos binários, a linha termina com o caractere de nova linha (\n).

Exemplo:


file = open('example.bin', 'rb')
line = file.readline()
print(line)
file.close()

Lendo todas as linhas

O método readlines() lê todas as linhas do arquivo e as retorna em forma de lista de bytes.

Exemplo:


file = open('example.bin', 'rb')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

Métodos para trabalhar com strings podem não funcionar corretamente se você estiver lendo um arquivo que não contém texto: como um arquivo zip, imagem ou vídeo.

5.3 Gravando Dados Binários

O método write() grava bytes em um arquivo. Os dados a serem gravados devem estar em formato de bytes (bytes).

Lendo e gravando imagens

Lendo uma imagem de um arquivo e gravando em outro arquivo.


# Lendo uma imagem
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()
        
# Gravando a imagem
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

Também podemos gravar dados de texto:

Exemplo:


data = b"Hello, World!"
lines = [b"First line.\n", b"Second line.\n", b"Third line.\n"]
        
file = open('example.bin', 'wb')
file.write(data)
file.writelines(lines)
file.close()
1
Опрос
Trabalhando com arquivos,  21 уровень,  4 лекция
недоступен
Trabalhando com arquivos
Trabalhando com arquivos
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION