Как из файла достать словарь если его туда положил?
Это язык 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)
Автор решения: Антон
→ Ссылка
- есть pickle.
- есть json.
более знаком с json. Пример: (в файле
dict.jsonхраниться словарь, который мы загрузили с помощью json.dump(). Как его выгрузить?
import json
file = open ('dict.json')
dict_from_file = jsom.load (file) #загружаем из файла
file.close()