In Python shelve you access the keys randomly. In order to access the keys randomly in python shelve we use open()
function. This function works a lot like the file open() function in File handling. Syntax for open the file using Python shelve
shelve.open(filename, flag='c' , writeback=True)
In Order to access the keys randomly in shelve in Python, we have to take three steps:
- Storing Python shelve data
- Retrieving Python shelve data
- Updating Python shelve data
Storing Python shelve data :
In order to store python shelve data, we have to create a file with full of datasets and open them with a open()
function this function open a file which we have created.
import shelve
shfile = shelve. open ( "shelf_file" )
my_book_list = [ 'bared_to_you' , 'The_fault_in_our_stars' ,
'The_boy_who_never_let_her_go' ]
shfile[ 'book_list' ] = my_book_list
shfile.close()
|
Retrieving Python shelve data :
After storing a shelve data, we have to retrieve some data from a file in order to do that we use index operator [] as we do in lists and in many other data types.
import shelve
var = shelve. open ( "shelf_file" )
print (var[ 'book_list' ])
var.close()
|
Output :
['bared_to_you', 'The_fault_in_our_stars', 'The_boy_who_never_let_her_go']
Note : Output will be depend on what you have store in a file
Updating Python shelve data :
In order to update a python shelve data, we use append() function or we can easily update as we do in lists and in other data types. In order to make our changes permanent we use sync()
function.
import shelve
var = shelve. open ( "shelf_file" , writeback = True )
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)
print (var[ 'book_list' ])
var.sync()
var.close()
|
Input :
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
Output :
['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']
Note : Input and Output depend upon user, user can update anything in a file which user want according to user input, output will be changed.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
06 Jan, 2019
Like Article
Save Article