Python 通过rootpy存储对象TFile的最佳方法

Python 通过rootpy存储对象TFile的最佳方法,python,root-framework,rootpy,Python,Root Framework,Rootpy,我正试图通过rootpy将python类(或只是成员)存储在根文件(CERN,TFile)中 我可以使用树和树模型轻松实现这一点,但这只适用于基本类型,不会产生我要寻找的结构。 我还快速查看了rootpy.io.pickler,但这不允许使用TBrowser进行检查(它崩溃) 我想知道是否有更好的办法。我想要什么 我的档案: 我选择的目录 具有我的对象名称的目录 对象基本类型(int、float、string) 柱状图(那个很简单) 其他复杂对象 正如您所见,这无法通过树实现,我不知道如

我正试图通过rootpy将python类(或只是成员)存储在根文件(CERN,
TFile
)中

我可以使用
树模型
轻松实现这一点,但这只适用于基本类型,不会产生我要寻找的结构。 我还快速查看了
rootpy.io.pickler
,但这不允许使用
TBrowser
进行检查(它崩溃)

我想知道是否有更好的办法。我想要什么

我的档案:

  • 我选择的目录
    • 具有我的对象名称的目录
    • 对象基本类型(int、float、string)
    • 柱状图(那个很简单)
    • 其他复杂对象
正如您所见,这无法通过
树实现,我不知道如何将基本类型添加到
目录
。有什么想法吗


如果可能的话,我希望避免将对象参数存储在树中并将直方图直接存储在同一
目录中的逻辑工作。我唯一的想法是在您的TFile中创建您想要的TDirectory并将内容添加到此目录中。直方图很容易。基本类型可以存储在树中。对于其他复杂对象,您可以查看。序列化对象(即,
pickle\u string=pickle.dumps(Foo)
)可以作为字符串存储在树中,而无需通过TBrowser中断检查。这在没有rootpy的情况下工作,只使用PyROOT。我希望这会有所帮助