Python - преобразование строки в текстовом файле в определенные типы данных

Я написал определенные типы данных в текстовый файл (так что теперь это все строки), чтобы манипулировать некоторыми их значениями в текстовом файле, а затем прочитать их снова как типы данных, которые я когда-то записал.

Каждая строка строится как кортеж (два элемента), первая - это строка (длина может варьироваться), а вторая - словарь. Словарь имеет один ключ и может различаться по количеству значений. Значения представлены в виде списка кортежей (трех элементов) с двумя целыми числами и строкой в ​​нем.

Вот пример того, как выглядит строка в текстовом файле:

('this is a string with various lenght', {'keyasstring':[(int, int, 'string')], ... , [(...)]})

Также некоторые кортежи могут быть очень длинными и содержать символы новой строки внутри.

Я думал, что смогу сделать это с помощью регулярного выражения. Но разве нет более простого и быстрого способа сделать это?

Или, может быть, я мог бы сохранить или сохранить данные по-другому?

Я благодарен за любую помощь и подсказки по этому поводу. Спасибо всем заранее.

Кстати, я использую Python 3.6 в рабочем пространстве Anaconda.

pickle, shelve, json, csv, что угодно, только не ваш домашний формат. ;)
timgeb 22.12.2018 10:52
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
39
1

Ответы 1

Можно сделать eval(). Пример:

longstring = eval(('this is a string with various lenght', {'keyasstring':[(int, int, 'string')], ... , [(...)]}))
print(longstring[0])
# this is a string with various lenght

Другие вопросы по теме