Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Save a dictionary to a file

  • Last Updated : 29 Dec, 2020

A dictionary in Python is a collection where every value is mapped to a key. They are unordered, mutable and there is no constraint on the data type of values and keys stored in the dictionary. This makes it tricky for dictionaries to be stored as files. Know more about dictionaries here.

Syntax:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'}

Saving Dictionary to a File

There are two main approaches for saving dictionaries into files using Python.



1. Text Files

The most basic way to save dictionaries in Python would be to store them as strings in text files. This method would include the following steps:

  • Opening a file in write/append text mode
  • Converting the dictionary into a string
  • Entering the converted string into the file using write function
filehandler = open(filename, 'wt')
data = str(dictionary)
filehander.write(data)

Reading from the dictionary back from the stored text files is cumbersome and this method should only be used for smaller and non-critical programs.

2. Pickle Module (Recommended)

The pickle module in Python is mostly used in fields like Data Science where data persistence is critical. The pickle module stores the given data as a serialized byte sequence into files which can be easily retrieved at a later time. Pickle module supports various Python objects and dictionaries are one among them. This method would include the following steps:

  • Importing the pickle module
  • Opening the file in write/append binary mode
  • Entering the data into the file using pickle module’s dump method
filehandler = open(filename, 'wb')
pickle.dump(dictionary, filehandler)

Below is the implementation of the above methods.

Example 1: Writing to Text File

Python3






dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'}
  
try:
    geeky_file = open('geekyfile.txt', 'wt')
    geeky_file.write(str(dictionary))
    geeky_file.close()
  
except:
    print("Unable to write to file")

Output:

Example 2: Appending to Text File

Python3




dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'}
  
try:
    geeky_file = open('geekyfile.txt', 'a')
    geeky_file.write(str(dictionary))
    geeky_file.close()
  
except:
    print("Unable to append to file")

Output:

Example 3: Writing using Pickle Module

Python3




import pickle
  
dictionary = {'geek': 1, 'supergeek': True, 4: 'geeky'}
  
try:
    geeky_file = open('geekyfile', 'wb')
    pickle.dump(dictionary, geeky_file)
    geeky_file.close()
  
except:
    print("Something went wrong")

Note: As the pickle module stores data in binary form, the data in the file is unreadable by humans.




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!