Comment est-ce que je devrais empêcher la corruption dans un dossier de shelve? La tablette doit-elle être fermée la plupart du temps, puis ouverte uniquement lorsque j'ai besoin de lire ou de modifier une valeur?Empêcher la corruption de python shelve
Répondre
Si la sécurité de vos objets persistants est d'une grande importance dans votre projet, l'utilisation de shelve
n'est pas une bonne idée. Il ne s'agit pas non plus de décaper les objets et de les écrire manuellement dans des fichiers. Considérons que de vraies bases de données investissent d'énormes ressources (intelligence et code) pour assurer la sécurité en cas de défaillance. Alors gardez vos données dans un vrai DB. Le plus simple serait sqlite
, car il est livré avec Python. sqlite
est assez sûr et a beaucoup de mal à garder vos données dans un état valide même en cas de défaillance du système (comme quand quelqu'un se déclenche sur le câble d'alimentation de votre PC).
Serait une bonne option? http://pypi.python.org/pypi/shove – MKaras
@metaguppy: shove ressemble à une approche intéressante, étant une interface vers d'autres outils comme sqlite et d'autres DB. J'envisagerais de l'utiliser, mais comme on ne le sait pas, je ne mettrais pas mes données les plus importantes sans des tests et des recherches sérieuses –
- 1. problème vraiment bizarre avec shelve (python)
- 2. Récupération de la corruption Subversion
- 3. Stack possible la corruption
- 4. Problème avec le module shelve?
- 5. shelve donne une erreur étrange
- 6. Comment déboguer "glibc détecté *** python: malloc(): corruption de mémoire"
- 7. Empêcher la compilation des importations python
- 8. Howto Traquer la corruption variables
- 9. Corruption de la mémoire dans l'assemblage?
- 10. SVN dans la corruption XCode de pbxuser
- 11. Corruption logicielle
- 12. Le module shelve de Python utilise-t-il des E/S mappées en mémoire?
- 13. Python Débutant: Comment empêcher l'exécution de 'finally'?
- 14. Strange corruption de sortie PHP
- 15. Corruption DFM sporadique de TListView.Items.ItemData
- 16. perl utf8 corruption
- 17. ms-accès questions sur la corruption
- 18. corruption étrange tableau temporaire
- 19. mercurial repository corruption
- 20. JNI String Corruption
- 21. nouveau XmlSerializer (typeof (MyClass)) Causer la corruption de la mémoire?
- 22. La corruption de la pile d'appel entre les frontières
- 23. Crystal Report corruption
- 24. sun.awt.image.PNGImageDecoder $ PNGException: corruption crc
- 25. Comment puis-je prendre des clés entières dans shelve?
- 26. Corruption de la base de données SQL Compact Edition
- 27. Fonction de corruption de la pile du noyau
- 28. Puis-je empêcher la modification d'un objet en Python?
- 29. Empêcher la fonction OpenCV CreateVideoWriter d'imprimer sur console en Python
- 30. Comment utiliser Python pour empêcher la copie d'un fichier?
Ne pas utiliser l'étagère. Ça corrompt. Je suggère sqlite. – nosklo
@nosklo est d'accord, ce n'est pas particulièrement fiable et son utilisation varie d'une plateforme à l'autre. –