2015-08-29 2 views
0

Я должен создать систему входа на целую кучу студентов, где данные предоставляются в виде текстового файла в следующем формате:Создание словаря из .txt

[ 
    { 
    "clave": "f22LwdI", 
    "alumno": "SI", 
    "nombre": "Samuel Riquelme" 
    }, 
    { 
    "clave": "KaEEkNjFz", 
    "alumno": "NO", 
    "nombre": "Paulina Toro", 
    } 
] 

Я пытался несколько функции чтения текста без успеха. Вот почему я решил принести это здесь.

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

+0

Это JSON. Используйте модуль 'json'. – MattDMo

ответ

2

вы могли бы попробовать это:

from ast import literal_eval 

# or read that string in from the file with something like 
# with open('filename.txt', 'r') as file: 
#  strg = file.read() 
strg = '''[ { "clave": "f22LwdI", "alumno": "SI", "nombre": "Samuel Riquelme" }, 
    { "clave": "KaEEkNjFz", "alumno": "NO", "nombre": "Paulina Toro", } ]''' 

lst = literal_eval(strg) 
print(lst[0]['clave']) 

к сведению, что возвращаемый объект представляет собой список словарей.

Теперь, когда форматирование вашего вопроса было обновлено: ваш формат (почти) json; если вы исправите лишнюю запятую в конце второго словаря, вы можете сделать это:

import json 

strg = '''[ 
    { 
    "clave": "f22LwdI", 
    "alumno": "SI", 
    "nombre": "Samuel Riquelme" 
    }, 
    { 
    "clave": "KaEEkNjFz", 
    "alumno": "NO", 
    "nombre": "Paulina Toro" 
    } 
]''' 

lst = json.loads(strg) 
print(lst) 
print(lst[1])