python和.net混合开发_[原]关于在Python和C#之间消息传递的问题

本文探讨了如何在Python和C#之间利用Json进行数据交换。提出了两种方案:一是通过中间文件传递Json字符串,二是直接通过返回值传递。通过Json,开发者可以方便地在两种语言间进行对象转换,减少了程序运行的时空开销。
摘要由CSDN通过智能技术生成

问题的描述:

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

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

解决思路:

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

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

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

话不多说,直接上代码:

Python端代码:

202050072159788.png

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

C#端代码:

202050089494460.png

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

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

Python端

202050111379357.png

C#端

202050128406570.png

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

参考文献:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值