将python语句发送到Python进程并获取结果

问题描述

一个在 Python 中可用但在 .NET 中不可用的库。因此,我想保持 Python 进程运行,并继续从 ASP.NET Core 向该进程发送语句,并以文本形式从中获取结果。

我已经搜索了现有问题,但它们都只传递一次 Python 脚本,没有保留过程并不断发送语句。

我尝试了以下代码,但没有从 Python 进程中获得任何输出。我做错了什么?

    static void Main(string[] args)
    {
        processstartinfo start = new processstartinfo();
        start.FileName = "python.exe";
        start.UseShellExecute = false;
        start.CreateNowindow = true;
        start.RedirectStandardOutput = true;
        start.RedirectStandardInput = true;

        var p = Process.Start(start);

        Task.Factory.StartNew(() => { 
            while(true)
            {
                var line = p.StandardOutput.ReadLine();
                if (line == null)
                    return;
                Debug.WriteLine(line);
            }
        });

        while (true)
        {
            var line = Console.ReadLine();
            p.StandardInput.WriteLine(line);
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)