将数据从 Python 程序发送到 C++ 程序的策略
Posted
技术标签:
【中文标题】将数据从 Python 程序发送到 C++ 程序的策略【英文标题】:Strategies to send data from a Python program to a C++ program 【发布时间】:2014-12-09 16:37:19 【问题描述】:我需要将一些数据从 Python 程序发送到 C++ 程序。当前的设计是 C++ 程序在单独的线程中执行 python 程序。我希望将 python 程序的一些结果传递回 C++ 程序。
目前我发现的包括:
通过套接字发送 通过管道发送 使用临时文件 在 C++ 程序中嵌入 python 解释器 使用 boost.python我的数据(要传递回 C++ 程序)本质上是一个 python 字典和一些文件。 (我正在发送电子邮件详细信息和附件)。我应该使用什么策略?
有什么可以让我的工作更轻松的吗?或者我可以改进我的程序设计吗?
编辑:将 boost.python 添加到找到的选项列表中。
【问题讨论】:
选择一个策略并尝试一下。如果效果不如您所愿,请尝试另一种策略并比较结果。如果您遇到无法解决的错误或无法解释的限制,这可能是在 Stack Overflow 上提问的更好时机。 @AirThomas 是的,但是当有更多经验丰富的开发人员的建议有时可以为您节省数小时的精力时,为什么还要经历所有这些。顺便问一下,你有什么建议吗? 我个人会使用 python 嵌入式解释器。唯一的原因是我在管道和套接字上使用它的经验更多。您不想使用临时文件。这将迫使硬盘访问速度过慢。 @user2970916 仅仅传输一些数据会不会有点矫枉过正?我浏览了嵌入解释器的文档,由于所有额外的代码和不熟悉,我不想通过嵌入路线。你知道有什么好的教程或软件包可以使它更容易吗? @Richard 这些小时的努力是您首先成为一名经验丰富的开发人员的方式。比较“我这样做是因为互联网告诉我这样做”与“我这样做是因为我尝试了其他方式并发现 X、Y 和 Z 有理由选择这种方法。”你会更信任哪个开发者? 【参考方案1】:我最终更改了模块,使得 C++ 部分和 Python 部分可以或多或少地相互独立地工作。但是如果需要传递数据,我想我会通过套接字路由。
【讨论】:
以上是关于将数据从 Python 程序发送到 C++ 程序的策略的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 c++ 程序传递到 linux 上的 python 程序 [关闭]