Binary files: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
(imported to nmm trac)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
== Opening, Reading ==
== Opening, Reading ==
'''IMPORTED'''


Simple example of parsing a binary file (reads 1024 bytes, aka 1MB at a time).
Simple example of parsing a binary file (reads 1024 bytes, aka 1MB at a time).
Line 28: Line 30:
== Parsing ==
== Parsing ==


The Python [http://docs.python.org/library/struct.html struct] module is very useful for working with "raw data" in Python.
The Python [http://docs.python.org/library/struct.html struct] module is very useful for turning the "raw data" returned from read into Python data types (strings, numbers).

Latest revision as of 16:15, 22 September 2009

Opening, Reading

IMPORTED

Simple example of parsing a binary file (reads 1024 bytes, aka 1MB at a time).

#!/usr/bin/python

import os, sys
fpath = sys.argv[1]

size = os.stat(fpath)[6]
print size, (size / 1024.0)

file = open(fpath, "rb")
count = 0
while 1:
	chunk = file.read(1024)
	if not chunk:
		break
	count += 1
	print ".",
print

file.close()
print count, "megabytes"

Parsing

The Python struct module is very useful for turning the "raw data" returned from read into Python data types (strings, numbers).