Pergunta

Eu quero ser capaz de abrir um arquivo de imagem e extra os valores hexadecimais byte a byte. Eu não tenho nenhuma idéia de como fazer isso e pesquisando "edição python byte" e "array python byte" não chegar a qualquer coisa, surpreendentemente. Alguém pode me apontar para a biblioteca eu preciso usar, métodos específicos i pode google ou tutoriais / guias?

Foi útil?

Solução

Python biblioteca padrão tem módulo mmap, que pode ser usado para fazer exatamente isso. Dê uma olhada na documentação para obter mais informações.

Outras dicas

Dependendo do que você quer fazer isso pode ser suficiente para abrir o arquivo em binário modo e ler os dados com o normal, arquivo funções:

# load it
with open("somefile", 'rb') as f:
    data = f.read()

# do something with data
data.reverse()

# save it
with open("somefile.new", 'wb') as f:
    f.write(data)

Python não me importo se a cadeia data contém "binário" ou dados "texto". Se você quiser apenas fazer modificações simples para um arquivo de tamanho razoável esta é provavelmente bom o suficiente.

O quadro Hachoir é um conjunto de bibliotecas e ferramentas de Python para analisar e editar arquivos binários:

http://pypi.python.org/pypi/hachoir-core

Tem conhecimento de tipos de arquivos comuns, assim que este poderia ser apenas o que você precisa.

Confira o stuct módulo.

Isso realiza módulo conversões entre os valores Python e estruturas C. representada como cadeias Python. Ele usa cadeias de formato (explicado abaixo) como descrições compactas do lay-out das estruturas C e a conversão destinado para / a partir dos valores do Python. Isso pode ser usado no tratamento de dados binários armazenados em arquivos ou a partir de conexões de rede, entre outras fontes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top