从C#代码执行python脚本神秘地停止

时间:2018-06-01 03:42:23

标签: c# python json

我目前有一个设置,其中我使用C#来执行Python脚本。它还可以获取脚本通常在返回的命令行中输出的内容,以便在我的应用程序中使用。 (由于某种原因除了错误消息)问题是当脚本到达打开.json文件的行时,脚本执行会神秘地停止。我不会粘贴脚本,因为它相当大,但我通过添加日志来确定它停止的行。这是一行:

featuresBody = open("features.json")

我已经验证过Python脚本在我在常规命令行中执行时它会通过这一点,但在从C#执行时会停止。这是运行脚本的C#代码:

ProcessStartInfo start = new ProcessStartInfo();
start.FileName = @"C:\Python27\python.exe";
start.Arguments = ltrDirectory + "/train_and_upload_demo_model.py -c " + ltrDirectory + "/config.json";
start.UseShellExecute = false;
start.RedirectStandardOutput = true;

using (Process process = Process.Start(start))
{
    using (StreamReader reader = process.StandardOutput)
    {
        string result = reader.ReadToEnd();
        System.Diagnostics.Debug.WriteLine(result);
    }
}

这个逻辑正在拾取脚本并在开始时运行它就好了,但只是在我上面提到的那一行失败了。我无法获得有关错误的详细信息,因为无论出于何种原因错误消息都不会返回到C#,我无法在命令行中复制该问题,因为相同的命令在那里工作。

为什么打开.json文件的任何想法都能正常工作,但从C#执行时却没有??

0 个答案:

没有答案