import bz2 import gzip import lzma import os import io def test(encoding): print(encoding) for module in [gzip, bz2, lzma]: path = '/tmp/test.txt.%s' % module.__name__ if os.path.exists(path): os.remove(path) with module.open(path, 'wt', encoding=encoding) as fout: fout.write('Ciao') with module.open(path, 'rb') as fin: print("%8s" % module.__name__, 'bytes:', fin.read()) test('utf-16') print('') test('utf-32')