Python - Como editar byte arquivo hexadecimal por byte
-
19-09-2019 - |
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?
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.