Я читаю файл XML и реорганизовать нужные данные в структуры Python данных (списки, кортежи и т.д.)Как сохранить и восстановить исходные структуры данных Python в файл и из него?
К примеру, один из моих модулей синтаксического анализа XML производит следующие данные:
# data_miner.py
animals = ['Chicken', 'Sheep', 'Cattle', 'Horse']
population = [150, 200, 50, 30]
Тогда у меня есть модуль плоттера, который грубо говорит, например:
# plotter.py
from data_miner import animals, population
plot(animals, population)
Используя этот метод, я должен разобрать каждый раз, когда я делаю график файл XML. Я все еще тестирую другие аспекты моей программы, и XML-файл не меняется так часто, как сейчас. Избегание этапа синтаксического анализа значительно улучшило бы время тестирования.
Это мой желаемый результат:
Между data_miner.py
и plotter.py
, я хочу файл, содержащий animals
и population
таким образом, что они могут быть доступны plotter.py
нативно (например, никаких изменений в построении кода), без необходимости пробег data_miner.py
каждый раз. Если это возможно, оно не должно быть в csv
или в любом формате ASCII, только изначально доступного формата. plotter.py
должен выглядеть примерно так:
# plotter.py
# This line may not necessarily be a one-liner.
from data_file import animals, population
# But I want this portion to stay the same
plot(animals, population)
Аналогия:
Это примерно эквивалентно save
команды MATLAB, которая сохраняет переменную активное рабочее пространство в .mat
файл. Я ищу что-то похожее на файл .mat
для Python.
Недавний опыт:
Я видел pickle
и cpickle
, но я не знаю, как заставить его работать. Если это правильный инструмент для использования, пример кода будет очень полезен. Могут быть и другие инструменты, которые я пока не знаю.
+1 для дополнительной информации о 'globals()'. Что-то новое для меня :) – Kit