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:
parent
7d68598a0e
commit
d6b9e44985
|
@ -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'))
|
Reference in New Issue