Хранение данных на лету с Python - PullRequest
3 голосов
/ 02 июля 2011

У меня есть программа, в которой я хочу записать имя функции, параметры, переданные функции, и результат. Я в настоящее время записываю это, используя декоратор. Однако я не уверен, как хранить это. В настоящее время я просто добавляю файл каждый раз.

Я хочу просто иметь возможность добавлять свои декораторы к любой функции в любой программе на Python и записывать результат. Таким образом, я должен иметь возможность хранить данные каждый раз. Это затрудняет использование XML для хранения данных, поскольку каждый раз документ должен анализироваться, добавляться и перезаписываться.

Любые предложения о том, как я могу сохранить эту информацию?

Ответы [ 2 ]

3 голосов
/ 02 июля 2011

оберните все эти данные внутри класса и затем используйте модуль рассола

У меня есть проект, который делает что-то очень близкое к тому, что вы хотите: coopy

2 голосов
/ 02 июля 2011

Используйте модуль logging из стандартной библиотеки.Он предназначен для обеспечения гибкой структуры для регистрации информации из запущенного приложения (через модули и исходные файлы).

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

...