将数据从Python发送到C#

时间:2017-01-06 23:04:21

标签: c# python

我尝试使用标准输入流将数据从python脚本发送到我的c#应用程序。我还需要最终将数据从我的c#应用程序发送回另一个python脚本。我首先尝试使用UDP连接执行此操作,该连接适用于几行,但我有相当数量的数据要发送(几千行)以及UDP无法提供的数据完整性要求。我也可以写一个文件,但这看起来非常低效。

最后一个限制是,虽然我的两个应用程序是相关的,但我无法使用像IronPython这样的东西建立它们之间的直接连接,因为它们都是由第三方应用程序单独生成的。

这是我目前正在尝试的,但它无法正常工作。与此问题类似:Passing data between Python and C# without writing a file

p = subprocess.Popen(C_SHARP_EXECUTABLE_FILE_PATH, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
p.communicate(blob)

在我的C#方面,我并不完全确定如何阅读这些数据,但我尝试过使用类似循环的内容:

Console.ReadLine()

或获取标准输入并直接使用以下方式读取:

Console.OpenStandardInput();

目前的问题是,一旦我调用p.communicate,我的Python脚本就会被锁定并且不会继续。如果它正在等待读取该行,我需要做些什么才能让它停止等待?我只尝试提供stdin参数,但这没有帮助。

0 个答案:

没有答案