Мне нужно написать структуру данных, хранящуюся как namedtuple
, в файл и прочитать его как namedtuple
в python.Запись и чтение namedtuple в файл в python
Решения здесь предлагают использовать Json.load
/loads
или pickle
, которые записывают переменную как json key-value pair в виде строк. Тем не менее, все мои обращения/разметки полей имеют вид struct.key
(а не struct["key"]
, который является способом доступа к значениям json), и это невозможно для исправления этого кода.
Я хочу сохранить это в файл, потому что структура огромна и занимает много времени, чтобы сгенерировать.
Рассол не имеет ничего общего с json. Если вы выберете объект namedtuple для файла, вы также сможете прочитать его обратно из файла как namedtuple. – sebastian
Как сказал @sebastian - использование 'pickle' будет самым простым - если вы действительно хотели JSON (может быть, это было доступно для чтения/редактирования), тогда вы можете обойти« namedtuple », но для этого более ресурсоемким , –
group_t = namedtuple ('group', 'field1, field2'); Myobj = group_t (field1 = val1, field2 = val2) Я получаю a can not pickle он не найден как __main__.group. –
amitp