MyTetra Share
Делитесь знаниями!
Безопасно создать список/словарь/любой объект из строкового представления в Python
Время создания: 21.03.2019 17:18
Автор: br0ke
Текстовые метки: python, list, eval, ast, literal_eval, json, str, decode, list, dict, object
Раздел: Информационные технологии - Python
Запись: and-semakin/mytetra_data/master/base/1553170711dwnxt59ac0/text.html на raw.githubusercontent.com

Чтобы безопасно восстановить объект из его строкового представления нужно выполнить следующий код:


>>> import ast

>>> x = '[ "A","B","C" , " D"]'

>>> x = ast.literal_eval(x)

>>> x

['A', 'B', 'C', ' D']


Это бывает полезно, когда нужно восстановить объект из формата, похожего на JSON, но на самом деле это не JSON, а строковое представление словаря в Python. Если пытаться привести это к совместимому с JSON формату (заменяя одинарные кавычки на двойные и т.д.), то можно сломать сами данные, поэтому проще рассматривать эти данные изначально как литерал Python.

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования