【问题标题】:connecting c/c++ and python连接 c/c++ 和 python
【发布时间】:2011-03-31 16:01:31
【问题描述】:

我想要做的是我想使用 python 读取一个文件,然后使用文件中的数据,在 c/c++ 中创建一个变量(我不想从文件中读取 var :) )。

这可能吗? 如果这是可能的,那你会怎么做?

谢谢你们!

【问题讨论】:

    标签: c++ python c connection io


    【解决方案1】:

    也许Boost.Python 可以提供帮助。

    您可以向 Python 脚本公开 C++ 函数。类似的东西:

    void do_sth_with_processed_data(const std::string& data)
    {
      // …
    }
    
    BOOST_PYTHON_MODULE(do_sth)
    {
      def("do_sth_with_processed_data", do_sth_with_processed_data);
    }
    

    在您的 Python 脚本中,您现在可以:

    import do_sth
    
    // … 
    
    do_sth_with_processed_data(my_processed_data) // this calls the c++ function
    

    【讨论】:

      【解决方案2】:

      是的。在 Python 中打开第一个文件,对其进行处理并将结果保存到第二个文件中。

      然后在您的 C 或 C++ 程序中打开第二个文件并使用数据。

      【讨论】:

      • 谢谢!这实际上似乎是目前最好的决定。
      • @DavidGao , 如果你知道 Shell Script , 你可以通过从 shell 脚本运行 python 文件然后运行 ​​cpp 文件来使它更简单
      【解决方案3】:

      Swig can generate a Python 自动为您提供 C 或 C++ 代码的接口。由于它包装了构造函数,因此您可以在 Python 中读取数据,然后将其(稍加小心)传递给 C++ 类的构造函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-14
        • 2014-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多