首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#调用python解释器

C#调用python解释器
EN

Stack Overflow用户
提问于 2018-07-01 00:00:08
回答 1查看 390关注 0票数 1

我是C#新手,我曾尝试使用ProcessStartInfo类执行一个python程序。我跟踪了this link 并做了同样的事情。但是,我无法获得任何重定向输出。我尝试使用参数执行Python解释器,没有任何问题。然而,我看到控制台弹出,然后立即消失。没有输出打印。我尝试使用方法process.waitForExit(),但是控制台也消失了。有什么想法吗?

代码语言:javascript
复制
ProcessStartInfo start = new ProcessStartInfo();
            start.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe";
            start.Arguments = @"C:\Users\test\test.py";
            start.UseShellExecute = false;
            start.RedirectStandardOutput = true;
            start.RedirectStandardError = true;
            using (Process process = Process.Start(start))
            {

                using (StreamReader reader = process.StandardOutput)
                {
                    string result = reader.ReadToEnd();
                    Console.Write(result);
                    process.WaitForExit();
                }
            }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 02:53:32

如果您从VS启动应用程序,则VS在完成执行后关闭应用程序控制台。尝试将Console.ReadLine()添加到程序的最后一行。

代码语言:javascript
复制
using (Process process = Process.Start(start))
{
    using (StreamReader reader = process.StandardOutput)
    {
        string result = reader.ReadToEnd();
        Console.Write(result);
    }
 }
 Console.ReadLine();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51116426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档