add script to convert pickle from latin1 to utf-8

Use:

python convert-pickle.py convig.pck latin utf-8
This commit is contained in:
Benjamin Dauvergne 2014-01-13 22:12:15 +01:00
parent 7d68598a0e
commit d6b9e44985
1 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,20 @@
import pickle
import sys
pickle_file, from_codec, to_codec = sys.argv[1:]
d = pickle.load(file(pickle_file))
def conv(o):
if isinstance(o, (tuple, list)):
return type(o)(conv(x) for x in o)
elif isinstance(o, dict):
return dict((conv(k), conv(v)) for k, v in o.iteritems())
elif isinstance(o, str):
return o.decode(from_codec).encode(to_codec)
else:
return o
pickle.dump(conv(d), file(pickle_file, 'w'))