使用IPC在Python和C#之间进行通信的最简单方法?

时间:2014-04-29 20:42:11

标签: c# python ipc

我有一些C#代码需要调用Python脚本数千次,每次传递一个字符串,然后期望浮回。 python脚本可以使用任何版本的Python运行,所以我不能使用Iron python。我建议使用IPC命名管道。我没有这方面的经验,也很难弄清楚如何在C#和Python之间做到这一点。这是一个简单的过程,还是我正在寻找相当数量的工作?这是解决问题的最佳方法吗?

2 个答案:

答案 0 :(得分:3)

使用zeromq。

  • 允许非常轻松的消息传递而无需经纪人
  • 适用于多种平台
  • 可以通过TCP套接字,unix套接字或进程内部进行通信

以下是使用zeromq https://stackoverflow.com/a/23227631/346478

的答案

它用于不同Python程序之间的消息传递,但在其他平台之间可以使用完全相同的通信方法。只是保持传递的消息可以互操作 - 双方必须正确理解内容。您可以使用二进制数据,但通常json表示也可以快速轻松地完成。但是有许多序列化框架,如结果缓冲区和其他框架,可能有助于您对结果进行编码。

答案 1 :(得分:0)

根据您所说的内容,您可以连接到python进程并捕获标准输出文本。简单,快速,可靠!