[英]How to exchange data between Python and C++
我想用 Python 编写一个程序,它读取 2 个数字(来自文本文件或用户输入)调用一个 C++ 函数,该函数接受 2 个参数(2 个数字)将它们相加并将结果返回给 Python 程序。 我已经设法使用文本文件(从 python 保存数字,然后在 C++ 程序中调用该文件)来做到这一点。 但我想直接做,而不必使用文本文件作为媒介。 我希望能够调用该函数并将参数直接发送给它,而不是让它从文本文件中读取它们,并且我希望将输出返回到原始 python 代码。
关于如何进行的任何想法,因为我在这方面还很陌生?
如果您有两个不同的程序,则需要使用进程间通信技术(管道、套接字、信号等)。
如果你想将 C++ 代码集成到一个 python 程序中,你可以使用Boost.Python或这个文档。
一个非常强大的用于集成 Python 和 C++ 的工具称为sip ,它是 Qt 绑定 PyQt 所基于的工具。
您可以调用函数,甚至可以将 C++ 类直接映射到 Python(包括支持在 Python 中派生 C++ 类)。
将参数从C ++发送到python的代码
#include <windows.h>
{
system("start abc.py hi"); //here hi is argument sent to abc.py, you can always add more.
return 0;
}
Python代码(另存为abc.py)
import sys
total = len(sys.argv)
cmdargs = str(sys.argv)
print ("The total numbers of args passed to the script: %d " % total)
print ("Args list: %s " % cmdargs)
# Parsing args one by one
print ("Script name: %s" % str(sys.argv[0]))
print ("First argument: %s" % str(sys.argv[1]))
print ("Second argument: %s" % str(sys.argv[2]))
阅读更多-( http://www.cyberciti.biz/faq/python-command-line-arguments-argv-example/ )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.