Domanda

Voglio essere in grado di aprire un file di immagine ed extra i valori esadecimali di byte per byte. Non ho idea di come fare questo e googling "editing python byte" e "serie python byte" non è venuto in mente nulla, a sorpresa. Qualcuno mi può puntare verso la biblioteca ho bisogno di usare, i metodi specifici posso Google, o tutorial / guide?

È stato utile?

Soluzione

Python libreria standard ha modulo mmap, che può essere usato per fare esattamente questo. Date un'occhiata su la documentazione per ulteriori informazioni.

Altri suggerimenti

A seconda di cosa si vuole fare potrebbe essere sufficiente a aprire il file in formato binario modalità e leggere i dati con il funzioni:

# 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 in realtà non importa se la stringa contiene data o dati "testo" "binari". Se si desidera solo fare semplici modifiche a un file di dimensioni ragionevoli questo è probabilmente abbastanza buono.

Il quadro Hachoir è un insieme di biblioteca e strumenti Python per analizzare e modificare i file binari:

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

Ha conoscenza dei tipi di file più comuni, quindi questo potrebbe essere solo quello che ti serve.

Controlla la stuct modulo.

  

Questo modulo effettua conversioni tra i valori Python e le strutture C rappresentate come stringhe Python. Esso utilizza stringhe di formato (descritti di seguito) come descrizioni compatte del lay-out delle strutture C e la conversione destinate a / da valori Python. Questo può essere usato nel trattamento dei dati binari memorizzati in file o da connessioni di rete, tra le altre fonti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top