I know how to read bytes —
Python can only read a byte at a time. You'd need to read in a full byte, then just extract the value you want from that byte, e.g.
b = x.read(1) firstfivebits = b >> 3
Or if you wanted the 5 least significant bits, rather than the 5 most significant bits:
b = x.read(1) lastfivebits = b & 0b11111
Some other useful bit manipulation info can be found here: http://wiki.python.org/moin/BitManipulation