[Python] scrittura su file di tuple incompleta.

Gollum1 gollum1.smeagol1 a gmail.com
Mar 7 Maggio 2013 22:41:46 CEST


Ciao all,

ho bisogno di generare un file con una sequenza di dati, i dati sono
memorizzati in un dizionario, dove la chiave è un numero, e il dato è
una tupla di dati.

il problema è provando con pochi elementi del dizionario, tutto
funziona bene, provando invece con un elevato numero di elementi, il
file risulta troncato ad un certo punto...

questo è il codice che uso, con anche un print di controllo.

# Inserisco i dati dei blocchi nel file .hsh
for block_counter in hsh_content.keys():
   fhsh.write("%07d\t\t%04d\t%s\t%s\t%d\n" % hsh_content[block_counter])
   print hsh_content[block_counter]

fhsh.close

con un centinaio di elementi, quello che viene stampato a video
corrisponde con quell che si trova nel file, una prova che ho fatto
che doveva generare un file con 633 elementi, la print li stampa tutti
e 633, mentre nel file arrivo a metà della 602 e poi il file
finisce...

secondo voi cosa potrebbe essere?

sono file di testo, e non file binari, ma contengono degli hash
esadecimali, generati con md5. da quello che so md5 genera gli hash
con soli codici stampabili, quindi non posso credere che ci sia un
codice dell'hash che possa interrompere la generazione del file (il
file in effetti è troncato proprio a metà di un codice hash della
tupla 602)

mi pare che esista una funzione (pike o qualcosa del genere) per
memorizzare direttamente le tuple invece di fare come ho fatto io, che
le ho praticamente convertite in un file di testo, ma può convivere
una parte di intestazione testuale con i dati prodotti da questo
comando?


spero di aver fornito abbastanza elementi...

Tnx&byez
-- 
Gollum1
Tesssssoro, dov'é il mio tessssoro...


Maggiori informazioni sulla lista Python