当前位置: 首页 > 面试题库 >

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

昌乐生
2023-03-14
问题内容

我有一些C#代码需要调用Python脚本数千次,每次都传递一个字符串,然后期望返回。可以使用任何版本的Python运行python脚本,因此我不能使用Iron
python。建议使用IPC命名管道。我对此没有经验,并且在弄清楚如何在C#和Python之间执行此操作时遇到了麻烦。这是一个简单的过程,还是我正在寻找可观的工作量?这是解决我的问题的最好方法吗?


问题答案:

使用zeromq。

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

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

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



 类似资料:
  • 问题内容: 我有一个在后台运行的C ++进程,该进程很少会生成“事件”,因此在同一框中运行的Python进程将需要拾取。 C端的代码必须尽可能轻巧。 Python端是只读的。 实现必须是跨平台的。 发送的数据非常简单。 我有什么选择? 谢谢 问题答案: zeromq-仅此而已。将消息编码为字符串。 但是,如果要使用protobuf从库中进行序列化,它将为Python和C ++生成类。您可以在任一端

  • 问题内容: 我想在Unix套接字上使用node-ipc在NodeJS和C程序之间进行通信,根据该主页,这是最快的选择。(它们将在同一台计算机上)。该软件包声称它可以与C程序通信。(我必须进行健全性检查)。 问题在于示例没有提供示例C代码,而且我几乎不知道如何让他们交谈。 谁能指出我一个C代码示例以匹配那些客户机/服务器示例?例如,我将如何改编本教程以在C中使用unix管道(假设我还没有完全脱离轨道

  • 我有一个包含40个属性的抽象超类。我还有2个子类,基本上扩展了超类。现在我想将一个子类转换为另一个子类。 像这样的简单类转换不起作用,并引发ClassCastException: 我可以手动编写一个复制构造函数,但这是一项繁琐的工作。 另一种方法是序列化和转换。例如,使用XML或JSON。但这用于克隆类,再次反序列化将引发类强制转换异常。 还有其他更好的办法吗?

  • 问题内容: 我有一个同时使用Python和C 代码的GNU Radio应用程序。我希望能够表示事件的C 代码。如果它们在同一范围内,我通常会使用一个简单的布尔值,但是代码是分开的,因此需要某种形式的共享内存。有问题的代码对性能至关重要,因此需要一种有效的方法。 我最初考虑的是Python和C 均可访问的共享内存段。因此,我可以在python代码中设置一个标志,并从C 中对其进行检查。由于我只需要一

  • 问题内容: 我正在尝试为某些python脚本构建Web界面。问题是我必须使用PHP(而不是CGI),并且我执行的某些脚本需要花费一些时间才能完成:5-10分钟。PHP是否可以与脚本进行通信并显示某种进度状态?这应该允许用户在任务运行时使用网页,并在此期间显示某些状态,或者在完成时仅显示一条消息。 当前使用exec()并在完成时处理输出。该服务器正在Windows计算机上运行,​​因此pcntl_f

  • 问题内容: 如何简单地从本地Python(3.0)脚本SSH到远程服务器,提供登录名/密码,执行命令并将输出打印到Python控制台? 我宁愿不使用任何大型外部库或在远程服务器上安装任何东西。 问题答案: 我没有尝试过,但是这个pysftp模块可能会有所帮助,而后者又使用了paramiko。我相信一切都在客户端。 有趣的命令可能是在远程计算机上执行任意命令。(该模块的功能和方法也更多地暗示了它的F