本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

关于在Python和C#之间消息传递的问题_c 传递数组给 pytho

python培训 cdadata 4716℃

关于在Python和C#之间消息传递的问题

关键词:c 传递数组给 pythonpython c 传递数组python c 字符串传递

问题的描述:

鉴于Python强大的网络功能和丰富的开源组件和C#开发Windows Form程序时优秀的框架,使用Python和C#混合编程可以有效的结合二者的长处,快速开发产品。

然而在这两者之间如何进行消息/数据的传递便成为一个首要的问题。

解决思路:

想在这两者之间方便进行对象转换Json是个首选的技术(关于Json的介绍就不复述了,可以参考文献[1])。既然选定了使用Json作为消息传递的格式,我们可以有两种方案处理这个问题:

一、通过中间文件传递Json字符串

在Python中将需要传递到C#的对象组装成列表,转换为Json字符串,将该字符串写入文件,然后再在C#端将该文件读出来,反序列化为对象列表即可。

话不多说,直接上代码:

Python端代码:

关于在Python和C#之间消息传递的问题

注:这里只贴了核心代码。至于如何将自定义Python转换为Json字符串可以参考文献[2]。

C#端代码:

关于在Python和C#之间消息传递的问题

 

二、通过返回值传递Json字符串

在Python端将对象列表转换成的Json字符串直接返回,在C#端直接捕获该返回值,然后反序列化为对象列表,代码如下:

Python端

关于在Python和C#之间消息传递的问题

C#端

关于在Python和C#之间消息传递的问题

这种方式省略了对中间文件的读写操作,较少了程序运行的时空开销。

 

转载请注明:数据分析 » 关于在Python和C#之间消息传递的问题_c 传递数组给 pytho

喜欢 (0)or分享 (0)