我希望能够在Python程序内部将值传递给C++程序,进行加密操作,并将结果返回给Python程序。请问如何实现?
如果你想使用一些现有的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]
正如msw在另一篇帖子中所说,正确的解决方案是使用PyObject。 如果你想要在C++和Python之间进行双向通信,Boost Python可能会对你有所帮助。请查看Boost Python网站。
这篇文章也很有趣: 如何将C++类暴露给Python而不构建模块