Python和C++之间如何交换数据

4
我想用 Python 编写一个程序,读取两个数字(可以从文本文件或用户输入中获取),调用一个 C++ 函数,将这两个数字作为参数传入函数中,然后将它们相加并将结果返回给 Python 程序。我已经成功地使用文本文件实现了这一点(先将 Python 中的数字保存到文本文件中,然后在 C++ 程序中调用该文件)。但我想直接完成,而不必使用文本文件作为中介。我希望能够直接调用函数并发送参数,而不是从文本文件中读取它们,并且希望将输出返回给原始的 Python 代码。
你有什么好的建议吗?因为我对这个领域还比较陌生。

您可以使用管道与外部程序进行通信。 - πάντα ῥεῖ
SWIG (http://www.swig.org/tutorial.html) 使得将 C/C++ 代码与 Python 进行接口交互变得容易。 - Dietrich
那么使用 SWIG、Python 封装器或套接字/管道等有什么区别呢? - Jethro
3个回答

2
如果您有两个不同的程序,您需要使用进程间通信技术(管道、套接字、信号等)。
如果您想将 C++ 代码集成到 Python 程序中,您可以使用Boost.Python本文档

1
一个非常强大的将Python和C ++集成的工具称为sip,这是Qt绑定PyQt所基于的工具。
您可以直接调用函数,甚至将C ++类直接映射到Python(包括支持在Python中导出C ++类)。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接