如何在Python与C++之间传递值?
我想在一个Python程序里,把一些值传递给一个C++程序进行加密,然后再把结果从C++程序返回到Python程序。请问该怎么做呢?
2 个回答
0
正如msw在其他帖子中提到的,正确的解决方案是使用PyObject。如果你想在C++和Python之间实现双向通信,Boost Python会对你很有帮助。你可以看看这个网站:Boost Python。
这个帖子也很有意思:如何在不构建模块的情况下将C++类暴露给Python
1
如果你想使用一些现成的Unix风格的命令行工具,这些工具可以从标准输入(stdin)读取数据,并将结果输出到标准输出(stdout),你可以使用subprocess.Popen
,并通过Popen.communicate()
来实现:
import subprocess
p = subprocess.Popen(["/your/app"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output = p.communicate(input)[0]