En Python Shelve accedes a las claves aleatoriamente. Para acceder a las claves aleatoriamente en python shelve, usamos la open()
función. Esta función funciona de forma muy parecida a la función de apertura de archivos() en el manejo de archivos. Sintaxis para abrir el archivo usando Python shelve
shelve.open(filename, flag='c' , writeback=True)
Para acceder a las claves aleatoriamente en Shelve en Python, tenemos que seguir tres pasos:
- Almacenamiento de datos de estantería de Python
- Recuperando datos de estantería de Python
- Actualización de datos de estantería de Python
Almacenamiento de datos de estantería de Python:
para almacenar datos de estantería de Python, tenemos que crear un archivo lleno de conjuntos de datos y abrirlos con una open()
función. Esta función abre un archivo que hemos creado.
# At first, we have to import the 'Shelve' module. import shelve # In this step, we create a shelf file. shfile = shelve.open("shelf_file") # we create a data object which in this case is a book_list. my_book_list =['bared_to_you', 'The_fault_in_our_stars', 'The_boy_who_never_let_her_go'] # we are assigning a dictionary key to the list # which we will want to retrieve shfile['book_list']= my_book_list # now, we simply close the shelf file. shfile.close()
Recuperación de datos de estantería de Python:
después de almacenar datos de estantería, tenemos que recuperar algunos datos de un archivo para hacer eso, usamos el operador de índice [] como lo hacemos en las listas y en muchos otros tipos de datos.
# At first, we import the 'Shelve' module. import shelve # In this step, we create a shelf file. var = shelve.open("shelf_file") # Now, this 'var' variable points to all the # data objects in the file 'shelf_file'. print(var['book_list']) # now, we simply close the file 'shelf_file'. var.close()
Producción :
['bared_to_you', 'The_fault_in_our_stars', 'The_boy_who_never_let_her_go']
Nota: la salida dependerá de lo que haya almacenado en un archivo.
Actualización de los datos de estantería de Python:
para actualizar los datos de estantería de Python, usamos la función append() o podemos actualizar fácilmente como lo hacemos en las listas y en otros tipos de datos. Para hacer que nuestros cambios sean permanentes, usamos sync()
function.
# At first, we have to import the 'Shelve' module. import shelve # In this step, we create a shelf file. var = shelve.open("shelf_file", writeback = True) # inputting total values we want to add # to the already existing list in shelf_file. val1 = int(input("Enter the number of values ")) for x in range(val1): val = input("\n Enter the value\t") var['book_list'].append(val) # Now, this 'var' variable will help in printing # the data objects in the file 'shelf_file'. print(var['book_list']) # to make our changes permanent, we use # synchronize function. var.sync() # now, we simply close the file 'shelf_file'. var.close()
Aporte :
Enter the number of values 5 Enter the value Who moved my cheese? Enter the value Our impossible love Enter the value Bourne Identity Enter the value Hush Enter the value Knock-Knock
Producción :
['bared_to_you', 'The_fault_in_our_stars', 'The_boy_who_never_let_her_go', 'Who moved my cheese?', 'Our impossible love', 'Bourne Identity', 'Hush', 'Knock-Knock']
Nota: la entrada y la salida dependen del usuario, el usuario puede actualizar cualquier cosa en un archivo que el usuario desee de acuerdo con la entrada del usuario, la salida cambiará.