Como faço para executar um script Python de c #?

Esse tipo de pergunta já foi feito antes, em graus variados, mas acho que não foi respondida de maneira concisa e, por isso, faço novamente.

Eu quero executar um script em Python. Vamos dizer que é isto:

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

Que obtém um local de arquivo, lê e imprime seu conteúdo. Não é tão complicado.

Ok, então como faço isso em c #?

Isto é o que eu tenho agora:

    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);
            }
        }
    }

Quando eu passar ocode.py localização comocmd e afilename localização comoargs não funciona Me disseram que eu deveria passarpython.exe Enquanto ocmd, e depoiscode.py filename Enquanto oargs.

Eu tenho procurado por um tempo agora e só posso encontrar pessoas sugerindo usar IronPython ou algo parecido. Mas deve haver uma maneira de chamar um script Python de C #.

Algum esclarecimento:

Eu preciso executá-lo a partir de c #, eu preciso capturar a saída e não posso usar IronPython ou qualquer outra coisa. Seja qual for o hack que você tenha, tudo bem.

P.S .: O código Python real que estou executando é muito mais complexo do que isso, e ele retorna a saída que eu preciso em C #, e o código C # estará constantemente chamando o Python.

Finja que este é o meu código:

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

questionAnswers(2)

yourAnswerToTheQuestion