2011-07-02 44 views
3

我有一個程序,我想記錄函數名稱,參數傳遞給函數和結果。我目前正在使用裝飾器記錄這一點。但是我不確定如何存儲這個。目前我只是每次追加到一個文件。用Python存儲數據

我想只能將我的裝飾器添加到任何python程序中的任何函數並記錄結果。因此,我需要能夠每次都存儲數據。這使得使用XML來存儲數據變得困難,因爲每次都必須解析,添加和重寫文檔。

關於如何保存此信息的任何建議?

回答

3

包裝所有這些類內部,然後用pickle module

我有一個項目,做一些非常接近你想要什麼:coopy

+0

謝謝,鹹菜效果最好,因爲它意味着我可以保存更復雜的對象。 –

2

使用標準庫中的logging模塊。它旨在爲從正在運行的應用程序(跨模塊和源文件)記錄信息提供靈活的框架。

特別是,它支持的處理的概念,讓您登錄信息發送到各片:文件,套接字,電子郵件,系統日誌守護進程(在UNIX上)等等。如果現有的處理程序都不能滿足您的需求,則編寫自定義程序並將其插入是不難的。例如,您可以實現一個寫入數據庫的記錄程序。