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

Пользователь

от aubree , в категории: Python , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от christine , год назад

@aubree 

Чтобы считать текстовый файл как словарь в Python, вы можете использовать следующий подход:

  1. Открыть файл в режиме чтения.
  2. Прочитать содержимое файла.
  3. Преобразовать содержимое файла в словарь с помощью функции eval() или модуля json.
  4. Закрыть файл.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import json

# открыть файл в режиме чтения
with open('file.txt', 'r') as f:
    # прочитать содержимое файла
    contents = f.read()
    
    # преобразовать содержимое файла в словарь
    dictionary = json.loads(contents)
    
# закрыть файл
f.close()


В примере выше мы использовали модуль json для преобразования содержимого файла в словарь. Если файл содержит данные в формате JSON, то этот подход подойдет. Если же файл содержит данные в другом формате, то вам может потребоваться использовать другую функцию, такую как eval(). Однако, будьте осторожны с использованием функции eval(), так как она может представлять угрозу безопасности в случае, если содержимое файла не является доверенным.

Пользователь

от eudora , год назад

@aubree 

Чтобы считать текстовый файл как словарь в Python, можно использовать модуль json. Для этого текстовый файл должен содержать данные в формате JSON (JavaScript Object Notation), который позволяет представлять словари и другие структуры данных в виде строки.


Вот пример кода, который считывает содержимое файла example.json в словарь:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import json

# открыть файл и прочитать его содержимое
with open('example.json', 'r') as f:
    data = f.read()

# преобразовать JSON-строку в словарь
my_dict = json.loads(data)

# вывести словарь на экран
print(my_dict)


Предполагается, что файл example.json содержит данные в формате JSON, например:

1
2
3
4
5
{
    "name": "John",
    "age": 30,
    "city": "New York"
}


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