Как из файла достать словарь если его туда положил?

Это язык Python 3.7.7 Сначала я добавил словарь userslist в файл users.txt.

with open('users.txt','w') as users:
    for key,val in userlist.items():
        users.write('{}:{}\n'.format(key,val))

Потом он мне понадобился, но как его вытащить? Когда я пишу так:

with open("users.txt") as file:
           for line in file:
               key, *value = line.split()
       print (file)
       users.close()
       if len(file.keys) != 0:
           for user in lines.keys:
               if username == user:
                   print ('измените ник, такой уже есть')
                   flag1 = False 

выводит так:

AttributeError: '_io.TextIOWrapper' object has no attribute 'keys'

Заранее спасибо за ответ!


Ответы (3 шт):

Автор решения: MaxU

Пример:

import json

items = dict(first_name="John", last_name="Doe")

запись словаря в JSON файл:

with open("c:/temp/users.json", "w") as f:
    json.dump(items, f, indent=2)

чтение из JSON файла в словарь:

with open("c:/temp/users.json") as f:
   items2 = json.load(f)

print(items2)
# {'first_name': 'John', 'last_name': 'Doe'}
→ Ссылка
Автор решения: Ivan datlov

Откройте для себя pickle :)
Запись в файл:

import pickle
dict_number = {'one':1, 'two':2, 'three':3}
with open('users.txt','wb') as f:
    pickle.dump(dict_number, f)

Чтение файла:

import pickle
while True:
    with open('users.txt','rb') as f:
        dict_number=pickle.load(f)

    if EOFError:
        break
print(dict_number)
→ Ссылка
Автор решения: Антон
  1. есть pickle.
  2. есть json. более знаком с json. Пример: (в файле dict.json храниться словарь, который мы загрузили с помощью json.dump(). Как его выгрузить?
import json
file = open ('dict.json') 
dict_from_file = jsom.load (file) #загружаем из файла
file.close()
→ Ссылка