如何从C+发送和接收数据(和/或数据结构)+;将脚本转换为Python脚本?
我正在从事一个项目,需要做以下工作:如何从C+发送和接收数据(和/或数据结构)+;将脚本转换为Python脚本?,python,c++,Python,C++,我正在从事一个项目,需要做以下工作: [C++程序]检查给定目录,提取找到的文件的所有名称(完整路径),并将其记录在向量中 [C++程序]“发送”向量到Python脚本 [Python脚本]“接收”向量并将其转换为列表 [Python脚本]将列表元素(路径)与数据库记录进行比较,并从列表中删除匹配项(删除已注册的路径) < Ly> [ Python脚本]将处理过的列表发送回C++程序。 [C++程序]“接收”列表,将其转换为向量,并使用处理后的数据继续其操作 我想知道如何在C++脚本和Pytho
向量中
列表
任何帮助对我都很有用。您可以将参数传递给任何进程/脚本,无论它们是用什么语言编写的 <>在C++中,它们被表示为<代码> ARC<<代码>(参数的数量)和<代码> ARGV (实际参数)。 应输出:
Have 3 arguments:
hello
world
请注意,参数的大小是3,尽管您只传递hello
和world
,但这是因为argv
中的第一个元素始终是您的程序名
它在Python中的等价物是:
import sys
print('Have ' + len(sys.argv) + 'arguments:')
print("Argument List:", str(sys.argv))
如果我是你,我会先将向量/列表序列化,然后将其作为一个参数在Python和C++进程之间来回传递。
< P>不管你用什么语言编写,都可以将参数传递给任何进程/脚本。 <>在C++中,它们被表示为<代码> ARC<<代码>(参数的数量)和<代码> ARGV (实际参数)。 应输出:Have 3 arguments:
hello
world
请注意,参数的大小是3,尽管您只传递hello
和world
,但这是因为argv
中的第一个元素始终是您的程序名
它在Python中的等价物是:
import sys
print('Have ' + len(sys.argv) + 'arguments:')
print("Argument List:", str(sys.argv))
<如果我是你,我会先将向量/列表序列化,然后将它作为Python和C++进程之间来回的参数传递。 < P>你可以检查ReIIS。它可以用作程序之间的消息代理 他们有很多语言的客户端,包括C++和Python。 您可以为每个程序设置通道以通过发布消息,并让另一个程序订阅该通道以接收这些消息。
查看文档的pubsub部分:您可以查看redis。它可以用作程序之间的消息代理 他们有很多语言的客户端,包括C++和Python。 您可以为每个程序设置通道以通过发布消息,并让另一个程序订阅该通道以接收这些消息。
检查文档的PUBSUBER部分:< P>如果从C++进程中执行Python脚本,那么最简单的设计就是接受Python脚本,接受“代码>输入文件> /COD>和<代码> OutPuxFix< /Cuff>作为参数,C++程序应该编写<代码>输入文件< /代码>,启动脚本并读取
输出文件
对于字符串列表这样的简单结构,您可以简单地将它们作为文本文件写入并共享,但对于更复杂的类型,您可以使用google protocolbuffers进行编组/解编组
如果想法是在两个已经启动的进程之间发送/接收数据,那么您可以使用相同的协议缓冲区对数据进行编码,并通过彼此之间的套接字发送/接收数据。检查代码< GRPC < /Calp> < /P> > P>如果C++程序中执行Python脚本,那么最简单的设计就是接受Python脚本,接受“代码>输入文件> /COD>和<代码> OutPuxFix< /Cuff>作为参数,C++程序应该编写<代码>输入文件>代码>,启动脚本并读取<代码> OutPuthFix< <代码> > < /P> 对于字符串列表这样的简单结构,您可以简单地将它们作为文本文件写入并共享,但对于更复杂的类型,您可以使用google protocolbuffers进行编组/解编组
如果想法是在两个已经启动的进程之间发送/接收数据,那么您可以使用相同的协议缓冲区对数据进行编码,并通过彼此之间的套接字发送/接收数据。检查<代码> GRPC < /Calp> < /P>你会从C++程序启动Python脚本吗?还是Python脚本上行并等待输入?你在做一些接口吗?@ SAMDANIL Python脚本代码将导入“sys”库,处理将用C++接收的参数完成。因此,它将等待C++执行并发送数据来处理它。@ PyMu妞我是这个主题的新手,我知道发送的数据可以是一个带有JSON格式的简单字符串,这样它就可以处理接口,但是,我不知道如何把这个数据从一个脚本发送到另一个C++。最简单的方法是使用文件作为通信媒介。你会从C++程序启动Python脚本吗?还是Python脚本运行并等待输入?你在做一些接口的事情吗?@ SAMDANIL Python脚本代码将导入“sys”库,处理将用参数接收。