代码之家  ›  专栏  ›  技术社区  ›  shodanex

如何从C代码中取消勾选

  •  1
  • shodanex  · 技术社区  · 16 年前


    我想从python代码中pickle矩阵,并从c代码中取消pickle矩阵,但我找不到关于如何执行此操作的文档或示例。

    评论员Peter H问我是否在使用numpy数组。答案是肯定的。

    7 回复  |  直到 16 年前
        1
  •  3
  •   Chinmay Kanchi    16 年前

    如果它只是一个矩阵,你可以把它写成一个CSV文件。为此,请查看Python csv模块。 http://docs.python.org/library/csv.html

        2
  •  5
  •   S.Lott    16 年前

    您可能需要使用更标准化的工具,例如 JSON . 在Python2.6中有一个JSON模块。C有6个不同的JSON模块。

    您可能想使用更像C语言的东西,比如Python struct 模块。它可以直接构建与C兼容的对象,避免了酸洗和取消酸洗。 http://docs.python.org/library/struct.html

        3
  •  2
  •   Alex Martelli    16 年前

    Protocol Buffers protobuf-c here 查看其他第三方加载项的列表)。

        4
  •  1
  •   Tim Pietzcker    16 年前

    查看MarkPilgrim中有关序列化数据的章节 Dive Into Python . 他在那里指出,“pickle协议是特定于Python的;不能保证跨语言的兼容性。您可能无法使用刚刚创建的[…]pickle文件,并使用Perl、PHP、Java或任何其他语言对其进行任何有用的操作。”

    也许JSON是一个更好的选择,这一章也解释了这一点。

        5
  •  1
  •   Community Mohan Dere    9 年前

    如果您必须使用pickle,那么可以将Python嵌入到C程序中,并通过Python在C中取消pickle。

        6
  •  0
  •   Francis    16 年前

    看一看模块 struct

        7
  •  0
  •   Dirk is no longer here    16 年前

    除了JSON,还有 Google Protocol Buffers 它有“原生”支持(来自谷歌),用于Python、C++和java——以及对包括C的其他语言的第三方绑定。