Как запустить скрипт Python из C #?

Такого рода вопрос уже задавался в разной степени, но я чувствую, что на него не дан краткий ответ, и поэтому я задаю его еще раз.

Я хочу запустить скрипт на Python. Позвольте сказать, что это так:

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

Который получает местоположение файла, читает его, затем печатает его содержимое. Не так сложно.

Хорошо, так как мне запустить это в C #?

Вот что у меня сейчас:

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

Когда я прохожуcode.py расположение какcmd иfilename расположение какargs это не работает. Мне сказали, что я должен пройтиpython.exe какcmd, а потомcode.py filename какargs.

Я давно искал и могу найти только людей, предлагающих использовать IronPython или что-то подобное. Но должен быть способ вызова скрипта Python из C #.

Некоторые уточнения:

Мне нужно запустить его из C #, мне нужно захватить вывод, и я не могу использовать IronPython или что-либо еще. Какой бы взлом у вас ни был, все будет хорошо.

П.С .: Фактический код Python, который я запускаю, гораздо сложнее, чем этот, и он возвращает вывод, который мне нужен в C #, и код C # будет постоянно вызывать Python.

Притворись, что это мой код:

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

Ответы на вопрос(8)

Ваш ответ на вопрос