C#python编程题题库,求解答

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

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

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

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

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

话不多说直接上代码:

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

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

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

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

【2】使用Json作为Python和C#混合编程时对象转换的中间文件

任何人都可以分享一个有效的示唎说明如何从python代码调用简单的C#库(实际上是其WPF)?(我曾尝试使用IronPython但在使用不受支持的CPython库(我的python代码正在使用中遇到太多麻烦,因此我想到了另一种尝试并从Python调用我的C#代码)

运行时的集成。这种方法使您可以使用CLR服务并继续使用现有的Python代码和基于C的扩展,同时保持Python代码的本机执行速度也适用于.NET的Python除了常用的应用程序库和GAC外,还使用PYTHONPATH(sys.path)查找要加载的程序集为确保可以隐式导入程序集,请将包含该程序集的目录放在sys.path中此软件包仍要求您在计算机上具有本地CPython运行时。有关更多信息请参见完整的自述文件http://pythonnet.github.io/readme.html

打开App,查看更多内容

我要回帖

更多关于 python编程题题库 的文章

 

随机推荐