Как мне взять информацию из текстового файла и поместить ее в словарь (Python)

1

Я построил предыдущую программу, которая хранит информацию в txt файле (да, я должен был использовать Db, но еще не научился этому) в любом случае, что я хочу сделать, это функция или метод, которые извлекают эту информацию из файл и сохраняет его в словаре, все время, возможно, обновляя текстовый файл /dict, если что-то нужно изменить

Файл txt находится в этом формате

Имя: John Doe

Num: 2485555555

Город: Roseville

беря эту информацию и сохраняя ее примерно так:

Друг = {'Имя:', 'John Doe', 'Num:', '2485555555', 'Город:', 'Roseville'}

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

Теги:
class
function
file-io

1 ответ

1
Лучший ответ
friend = dict(line.split(":", 1) for line in open("file"))

Это разделяет каждую строку в первом двоеточии, чтобы получить последовательность пар (ключ, значение) и использует эту последовательность для инициализации словаря.

Чтобы разрешить пустые строки в вашем файле, вы можете использовать

friend = dict(line.split(":", 1) for line in open("file") if line.strip())
  • 0
    спасибо, можете ли вы объяснить немного о том, что говорит эта логика, так что я понимаю, что идет вперед и для чего нужна 1? ...
  • 0
    @ Isov5: я добавил краткое объяснение. 1 означает разделение только по первому двоеточию. Если в каждой строке есть только один двоеточие, это не имеет значения.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню