Shelve est un module Python puissant pour la persistance des objets. Lorsque vous rangez un objet, vous devez spécifier une clé qui identifie la valeur de l'objet. De cette manière, le fichier étagère devient une base de données de valeurs stockées, accessibles à tout moment.
Exemple de code pour la mise en rayon en Python
Pour mettre un objet en rayon, importez d'abord le module, puis attribuez la valeur de l'objet comme suit :
import shelve database = shelve.open(filename.suffix) object = Object() database['key'] = object
Par exemple, si vous souhaitez conserver la base de données boursière, vous pouvez ajuster le code suivant :
import shelve stockvalues_db = shelve.open('stockvalues.db') object_ibm = Values.ibm() stockvalues_db['ibm'] = object_ibm object_vmw = Values.vmw() stockvalues_db['vmw'] = object_vmw object_db = Values.db() stockvalues_db['db'] = object_db
"stock valeurs.db" est déjà ouvert, vous n'avez pas besoin de l'ouvrir encore. Au lieu de cela, vous pouvez ouvrir plusieurs bases de données à la fois, écrire dans chacune à volonté et laisser Python les fermer à la fin du programme. Par exemple, vous pouvez conserver une base de données de noms distincte pour chaque symbole et ajouter ce qui suit au code précédent :
## assuming shelve is already imported stocknames_db = shelve.open('stocknames.db') objectname_ibm = Names.ibm() stocknames_db['ibm'] = objectname_ibm objectname_vmw = Names.vmw() stocknames_db['vmw'] = objectname_vmw objectname_db = Names.db() stocknames_db['db'] = objectname_db
Veuillez noter que tout changement dans le nom ou le suffixe du fichier de base de données constitue un fichier différent, formant ainsi différentes bases de données.
Le résultat est un deuxième fichier de base de données contenant les valeurs données. Contrairement à la plupart des fichiers écrits dans un format personnalisé, les bases de données mises de côté sont enregistrées sous forme binaire.
Après avoir écrit les données dans le fichier, celui-ci peut être appelé à tout moment. Si vous souhaitez restaurer les données lors d'une session ultérieure, rouvrez le fichier. S'il s'agit de la même session, appelez simplement la valeur ; le fichier de base de données shelve est ouvert en mode lecture-écriture. Voici la syntaxe de base pour y parvenir :
import shelve database = shelve.open(filename.suffix) object = database['key']
Ainsi, l'exemple de l'exemple précédent se lirait comme suit :
import shelve stockname_file = shelve.open('stocknames.db') stockname_ibm = stockname_file['ibm'] stockname_db = stockname_file['db']
Mettre les considérations de côté
Assurez-vous de noter que la base de données restera ouverte jusqu'à ce qu'elle soit fermée (ou jusqu'à la fin du programme). Donc, si vous écrivez un programme de n'importe quelle taille, vous devez fermer la base de données après l'avoir utilisée. Sinon, la base de données entière (pas seulement les valeurs souhaitées) reste en mémoire et consomme des ressources informatiques.
Pour fermer un fichier mis en attente, utilisez la syntaxe suivante :
database.close()
Si tous les exemples de code ci-dessus étaient combinés en un seul programme, alors nous aurions deux fichiers de base de données ouverts et consommant de la mémoire. Ainsi, après avoir lu les noms de titres dans l'exemple précédent, vous pouvez fermer chaque base de données tour à tour comme ceci :
stockvalues_db.close() stocknames_db.close() stockname_file.close()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!