You can encode and decode keys before passing them to savez .
>>> import numpy >>> import base64 >>> arrs = {'data/a.text': numpy.array([1,2]), 'data/b.text': numpy.array([3,4]), 'data/c.text': numpy.array([5,6])} >>> numpy.savez('file.npz', **dict((base64.urlsafe_b64encode(k), v) for k,v in arrs.iteritems())) >>> npzfile = numpy.load('file.npz') >>> decoded = dict((base64.urlsafe_b64decode(k), v) for k,v in npzfile.iteritems()) >>> decoded {'data/c.text': array([5, 6]), 'data/a.text': array([1, 2]), 'data/b.text': array([3, 4])}
source share