¿Cómo ejecuto un script de Python desde C #?

Este tipo de pregunta ha sido formulada anteriormente en diversos grados, pero siento que no ha sido respondida de manera concisa y por eso la pregunto nuevamente.

Quiero ejecutar un script en Python. Digamos que es esto:

if __name__ == '__main__':
    with open(sys.argv[1], 'r') as f:
        s = f.read()
    print s

Que obtiene una ubicación de archivo, la lee y luego imprime su contenido. No es tan complicado.

Bien, entonces, ¿cómo ejecuto esto en C #?

Esto es lo que tengo ahora:

    private void run_cmd(string cmd, string args)
    {
        ProcessStartInfo start = new ProcessStartInfo();
        start.FileName = cmd;
        start.Arguments = args;
        start.UseShellExecute = false;
        start.RedirectStandardOutput = true;
        using (Process process = Process.Start(start))
        {
            using (StreamReader reader = process.StandardOutput)
            {
                string result = reader.ReadToEnd();
                Console.Write(result);
            }
        }
    }

Cuando paso elcode.py ubicación comocmd y elfilename ubicación comoargs no funciona Me dijeron que debía pasarpython.exe como elcmd, y entoncescode.py filename como elargs.

He estado buscando por un tiempo y solo puedo encontrar personas que sugieran usar IronPython o algo así. Pero debe haber una manera de llamar a un script de Python desde C #.

Algunas aclaraciones:

Necesito ejecutarlo desde C #, necesito capturar la salida, y no puedo usar IronPython o cualquier otra cosa. Cualquier truco que tengas estará bien.

P.S .: El código Python real que estoy ejecutando es mucho más complejo que esto, y devuelve el resultado que necesito en C #, y el código C # llamará constantemente a Python.

Finge que este es mi código:

    private void get_vals()
    {
        for (int i = 0; i < 100; i++)
        {
            run_cmd("code.py", i);
        }
    }

Respuestas a la pregunta(2)

Su respuesta a la pregunta