如何在C#文本框中显示python输出?

如何在C#文本框中显示python输出?,c#,.net,uwp,C#,.net,Uwp,我想在文本框中显示python脚本的标准输出,但单击按钮后什么也没有发生。如果是错误的,我如何修复或更换? 例子 我在textbox1中运行我的应用程序,我什么都没有,单击按钮1后,我想在我的textbox1中使用python脚本中的“Hello” private void button1_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { char[] spliter = {

我想在文本框中显示python脚本的标准输出,但单击按钮后什么也没有发生。如果是错误的,我如何修复或更换? 例子 我在textbox1中运行我的应用程序,我什么都没有,单击按钮1后,我想在我的textbox1中使用python脚本中的“Hello”

private void button1_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
            {
                char[] spliter = { '\r' };
                int x = 1;

                Process python = new Process();
                python.StartInfo.FileName = "D:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\python.exe";
                python.StartInfo.RedirectStandardOutput = true;
                python.StartInfo.UseShellExecute = false;

                python.StartInfo.Arguments = string.Concat("C:\\Users\\kamil\\source\\PythonApplication3\\PythonApplication3.py", " ", x.ToString());
                python.Start();

                StreamReader sReader = python.StandardOutput;
                string[] output = sReader.ReadToEnd().Split(spliter);


                foreach (string s in output)
                {
                    TextBox1.Text += s + Environment.NewLine;
                }

                python.WaitForExit();
Python脚本:

import sys

def main():
    print('Hello')

main()

尝试添加
python.StartInfo.RedirectStandardError=true
textBox1.Text+=python.StandardError.ReadToEnd()
添加到您的代码中,以便除了输出之外还可以捕获错误。我认为它可能无法“找到”作为参数传递的文件。尝试在文件路径周围添加引号,如:“\”C:\Users\kamil\source\PythonApplication3\PythonApplication3.py\”

shell知道如何将以“.py”结尾的文件名解释为python程序。您已关闭ShellExecute,因此不会发生这种情况。您需要启动python,然后以某种方式将脚本和参数传递给它。你能查一下这个帖子吗?答案中的链接已断开,但我认为这篇文章仍然有很大帮助:UWP在沙箱中运行,与桌面应用程序不同,您可以使用启动exe文件,但无法访问UWP应用程序的输出。你能告诉我们你为什么要这样做吗?此外,您可以创建一个wpf应用程序来使用Process api,然后将wpf应用程序转换为UWP。这很有帮助,但现在我对某个文件的权限被拒绝。您可以在记事本中打开该文件并保存它吗?您的应用程序是否需要以管理员身份运行?是的,我可以打开并保存文件。我从visual studio代码运行我的应用程序我不知道它是否作为管理员关闭visual studio,右键单击visual studio快捷方式,然后选择“以管理员身份运行”,或者转到调试文件夹并以管理员身份运行输出的exe,这没有帮助