我有一个程序,我想记录函数名称,传递给函数的参数和结果。我目前正在使用装饰器录制这个。但是我不确定如何存储它。目前我只是每次都附加一个文件。
我希望能够将装饰器添加到任何python程序中的任何函数并记录结果。因此,我需要能够每次都存储数据。这使得难以使用XML来存储数据,因为每次都必须解析,添加和重写文档。
有关如何保存此信息的任何建议?
答案 0 :(得分:3)
将所有内容包装在一个类中,然后使用pickle module
我有一个项目可以做你想要的事情:coopy
答案 1 :(得分:2)
使用标准库中的logging
模块。它旨在提供一个灵活的框架,用于记录正在运行的应用程序(跨模块和源文件)的信息。
特别是,它支持处理程序的概念,允许您将日志记录信息发送到各种接收器:文件,套接字,电子邮件,syslog守护程序(在Unix上)等等。如果现有的处理程序都没有满足您的需求,那么编写自定义处理程序并将其插入并不困难。例如,您可以实现写入数据库的记录程序。