Кажется, я получаю разные результаты:
from StringIO import *
file = open('1.bmp', 'r')
print file.read(), '\n'
print StringIO(file.read()).getvalue()
Почему? Это потому, что StringIO поддерживает только текстовые строки или что-то в этом роде?