Jak uruchomić skrypt Pythona z C #?

Tego rodzaju pytanie zostało zadane wcześniej w różnym stopniu, ale uważam, że nie udzielono na nie odpowiedzi w zwięzły sposób, więc proszę o to ponownie.

Chcę uruchomić skrypt w Pythonie. Powiedzmy, że to jest to:

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

Który pobiera lokalizację pliku, odczytuje ją, a następnie drukuje jej zawartość. Nie tak skomplikowane.

Dobrze, więc jak mam to uruchomić w C #?

Oto, co mam teraz:

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

Kiedy mijamcode.py lokalizacja jakcmd ifilename lokalizacja jakargs to nie działa. Powiedziano mi, że powinnam przejśćpython.exe jakcmd, i wtedycode.py filename jakargs.

Od jakiegoś czasu szukam i mogę znaleźć tylko osoby sugerujące korzystanie z IronPythona lub podobnego. Ale musi istnieć sposób na wywołanie skryptu Pythona z C #.

Pewne wyjaśnienie:

Muszę go uruchomić z C #, muszę przechwycić dane wyjściowe i nie mogę używać IronPythona ani niczego innego. Cokolwiek masz, będzie dobrze.

P.S: Rzeczywisty kod Pythona, który używam, jest o wiele bardziej złożony i zwraca dane wyjściowe, których potrzebuję w C #, a kod C # będzie stale wywoływać Pythona.

Udawaj, że to mój kod:

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

questionAnswers(2)

yourAnswerToTheQuestion