Mi chiedo se c'è un modo per caricare un oggetto che è stato decapato in Python 2.4, con Python 3.4.
Ho eseguito 2to3 su una grande quantità di codice legacy dell'azienda per aggiornarlo.
Fatto ciò, quando eseguo il file ottengo il seguente errore:
File "H:\fixers - 3.4\addressfixer - 3.4\trunk\lib\address\address_generic.py"
, line 382, in read_ref_files
d = pickle.load(open(mshelffile, 'rb'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal
not in range(128)
Guardando l'oggetto in salamoia in contesa, è un dict
in a dict
, contenente chiavi e valori di tipo str
.
Quindi la mia domanda è: c'è un modo per caricare un oggetto, originariamente decapato in Python 2.4, con Python 3.4?
json
modulo? Forse potresti scrivere uno script 2.4 che scompone l'oggetto e lo salva come oggetto json, quindi scrivi uno script 3.4 che legge l'oggetto json e lo salva come oggetto pickle 3.4 compatibile. Questa sarebbe un'operazione una tantum che esegui su tutti i tuoi file pickle.