Как сохранить словарь в файл в Python

Словарь в Python используется для хранения пар ключ-значение. Иногда нам может понадобиться сохранить словарь непосредственно в файл. В этой статье мы разберем, как это сделать.

Примечание. Больше о словарях в Python можно почитать в статье “Словари в Python и работа с ними”.

Сохранение словаря в файл с помощью строк

Чтобы сохранить словарь в файл, мы можем сначала преобразовать словарь в строку, а затем сохранить строку в текстовом файле. Для этого мы выполним следующие шаги:

  • Сначала мы преобразуем словарь в строку с помощью функции str(). Функция str() принимает объект в качестве входных данных и возвращает его строковое представление.
  • Получив строковое представление словаря, мы откроем текстовый файл в режиме записи с помощью функции open(). Функция open() принимает имя файла и режим в качестве входных аргументов и возвращает объект файлового потока, скажем, myFile.
  • После получения объекта файлового потока myFile мы запишем строку в текстовый файл с помощью метода write(). Метод write() при вызове для файлового объекта принимает строку в качестве входного аргумента и записывает ее в файл.
  • После выполнения метода write() мы закроем файловый поток с помощью метода close().

Следуя этим шагам, вы сохраните словарь в файл в виде строки. После сохранения словаря в файл вы можете проверить содержимое файла, открыв его.

В следующем коде мы сохранили словарь Python в файл.

myFile = open('sample.txt', 'w')
myDict = {'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}
print("The dictionary is:")
print(myDict)
myFile.write(str(myDict))
myFile.close()
myFile = open('sample.txt', 'r')
print("The content of the file after saving the dictionary is:")
print(myFile.read())

Результат:

The dictionary is:{'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}
The content of the file after saving the dictionary is:{'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}

Как сохранить словарь в файл в двоичном формате

Вместо того, чтобы хранить словарь в виде текста, можно сохранить его в двоичном формате. Для этого мы будем использовать модуль pickle в Python. Чтобы сохранить словарь в файл с помощью модуля pickle, мы выполним следующие шаги:

  • Сначала мы откроем файл в двоичном режиме записи (wb) с помощью функции open(). Функция open() принимает имя файла и режим в качестве входных аргументов и возвращает объект файлового потока, скажем, myFile.
  • Модуль pickle предоставляет нам метод dump(), с помощью которого мы можем сохранить словарь в двоичном формате в файл. Метод dump() принимает объект в качестве первого аргумента и файловый поток в качестве второго аргумента. После выполнения он сохраняет объект в файл в двоичном формате. Мы передадим словарь в качестве первого аргумента, а myFile — в качестве второго аргумента в метод dump().
  • После выполнения метода dump() мы закроем файл с помощью метода close().

Ниже приведен код для сохранения словаря в файл.

import pickle

myFile = open('sample_file', 'wb')myDict = {'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}
print("The dictionary is:")
print(myDict)
pickle.dump(myDict,myFile)
myFile.close()

Сохранив словарь в двоичном формате, мы можем извлечь его с помощью метода load() из модуля pickle. Метод load() принимает файловый поток, содержащий объект Python в двоичной форме, в качестве входного аргумента и возвращает объект Python. После сохранения словаря в файл с помощью метода dump() мы можем воссоздать словарь из файла, как показано ниже.

import pickle

myFile = open('sample_file', 'wb')
myDict = {'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}
print("The dictionary is:")
print(myDict)
pickle.dump(myDict,myFile)
myFile.close()
myFile = open('sample_file', 'rb')
print("The content of the file after saving the dictionary is:")
print(pickle.load(myFile))

Выход:

The dictionary is:{'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}The content of the file after saving the dictionary is:{'Roll': 4, 'Name': 'Joel', 'Language': 'Golang'}

Итак, мы разобрали два способа сохранения словаря в файл в Python: в строковом и двоичном формате. Спасибо за внимание и успешного кодинга!

Перевод статьи Aditya Raj “How To Save a Dictionary to File in Python”.

Последние записи:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *