如何在Python与C++之间传递值?

9 投票
2 回答
6310 浏览
提问于 2025-04-15 21:27

我想在一个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]

撰写回答