gpt4 book ai didi

python - 通过 rootpy 存储对象 TFile 的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:50 24 4
gpt4 key购买 nike

我正在尝试通过 rootpy 将 python 类(或仅成员)存储在 ROOT 文件(CERN、TFile)中。

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

我想知道是否有更好的方法。我想要的东西

我的文件:

  • 我选择的目录
    • 包含我的对象名称的目录
    • 对象基本类型(int、float、string)
    • 直方图(那个很简单)
    • 其他复杂对象

如您所见,这无法通过 Tree 实现,我不知道如何将基本类型添加到 Directory。有什么想法吗?

如果可能的话,我想避免将对象参数存储在树中并将直方图直接存储在同一目录中的逻辑变通方法。

最佳答案

我唯一的想法是在您的 TFile 中创建您想要的 TDirectory 并将内容添加到该目录。直方图很容易。基本类型可以存储在树中。对于其他复杂对象,您可以查看 pickle .然后可以将序列化对象(即 pickle_string = pickle.dumps(Foo))作为字符串存储在树中,而不会中断通过 TBrowser 的检查。这不需要 rootpy,只需使用 PyROOT。我希望这可能有所帮助。

关于python - 通过 rootpy 存储对象 TFile 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32953670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com