Binary files

From XPUB & Lens-Based wiki

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).