Как читать данные словаря из файла в python?

У меня есть следующий файл dic.txt:

{'a':0, 'b':0, 'c':0, 'd':0} 

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

  • "Sys.getsizeof (int)" возвращает неоправданно большую ценность?
  • Преобразовать список ints на один номер?
  • обратные слова в предложении pythonic
  • Как установить Python с Wampserver
  • Что делает «mro ()»?
  • Поиск списка объектов в Python
  • У меня есть рабочий скрипт, но я не могу понять, как на самом деле прочитать содержимое dic.txt в переменной в скрипте. Причина, когда я пытаюсь это сделать:

     file = '/home/me/dic.txt' dic_list = open(file, 'r') mydic = dic_list dic_list.close() 

    То, что я получаю как mydic, является str. И я не могу манипулировать его значениями. Итак, вот вопрос. Как создать словарь из dic.txt?

  • TypeError: объект «range» не поддерживает назначение элемента
  • Два списка Python, в которых найден индекс
  • если команда в python
  • Python Редактировать заголовки CSV
  • Как написать и сохранить html-файл в python?
  • Почему синтаксическая ошибка имеет атрибут объекта с именем «del», «return» и т. Д.?
  • 3 Solutions collect form web for “Как читать данные словаря из файла в python?”

    Вам нужно проанализировать данные, чтобы получить структуру данных из строки, к счастью, Python обеспечивает функцию безопасного анализа структур данных Python: ast.literal_eval() . Например:

     import ast ... with open("/path/to/file", "r") as data: dictionary = ast.literal_eval(data.read()) 

    Вы можете использовать встроенную функцию python eval ():

      >>> mydic= "{'a':0, 'b':0, 'c':0, 'd':0}" >>> eval(mydic) {'a': 0, 'c': 0, 'b': 0, 'd': 0} >>> 
     >>> import json >>> json.loads('{"a":0, "b":0, "c":0, "d":0}') {u'a': 0, u'c': 0, u'b': 0, u'd': 0} 

    Так

     with open('/path/to/file', 'r') as f: d = json.loads(f.read().replace("'", '"') 
    Python - лучший язык программирования в мире.