Je suis en train d'écrire un programme qui met en cache certains résultats via le module pickle. Ce qui se passe actuellement, c'est que si j'appuie sur ctrl-c, tandis que l' dump
opération est en cours, dump
est interrompu et le fichier est corrompu (c'est à dire que partiellement écrit, il ne peut pas être load
ed nouveau.
Est-il un moyen de faire dump
, ou en général un bloc de code, sans coupure? Ma solution actuelle ressemble à quelque chose comme ceci:
try:
file = open(path, 'w')
dump(obj, file)
file.close()
except KeyboardInterrupt:
file.close()
file.open(path,'w')
dump(obj, file)
file.close()
raise
Il semble idiot de recommencer l'opération si elle est interrompue, donc je suis à la recherche d'une façon de reporter l'interrompre. Comment dois-je faire?