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

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

使用zeromq。

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

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

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