title: Running python script on C# and getting output continuously
body: <p>I'm trying to run a python script from C# and I want to get the output line by line and not at the end. I feel like I'm missing something important, but don't know what. This is what I have so far:</p>
  
  <pre><code>static void Main(string[] args)
  {
      var cmd = "C:/Users/user/Documents/script.py";
      var process = new Process
      {
          StartInfo = new ProcessStartInfo
          {
              FileName = "C:/Users/user/AppData/Local/Programs/Python/Python36/python.exe",
              Arguments = cmd,
              UseShellExecute = false,
              RedirectStandardOutput = true,
              RedirectStandardError = true,
              CreateNoWindow = true
          },
          EnableRaisingEvents = true
      };
      process.ErrorDataReceived += Process_OutputDataReceived;
      process.OutputDataReceived += Process_OutputDataReceived;
  
      process.Start();
      process.BeginErrorReadLine();
      process.BeginOutputReadLine();
      process.WaitForExit();
      Console.Read();
  }
  
  static void Process_OutputDataReceived(object sender, DataReceivedEventArgs e)
  {
      Console.WriteLine(e.Data);
  }
  </code></pre>
  
  <p>And the python code:</p>
  
  <pre><code>import time
  
  for i in range(5):
      print("Hello World " + str(i))
      time.sleep(1)
  </code></pre>