Запустите исполняемый файл Python (созданный в PyInstaller) в консольном приложении C #

#python #c# #python-3.x #process #pyinstaller

#python #c# #python-3.x #процесс #pyinstaller

Вопрос:

У меня есть exe-файл, созданный из .py файла с помощью PyInstaller file, и он работает, пока я открываю вручную. Я хочу открыть его с помощью C # в консольном приложении.

Но мой исполняемый файл python не открывается. Ничего не происходит. Я думал, что смогу сделать так:

 using System.Diagnostics;

class Program
{
    static void Main()
    {
        Process.Start("C:/something.exe");
    }
}
  

Это отлично работает для exe-файлов, созданных на C #, но не для файлов, созданных на Python с помощью PyInstaller.

Как я могу открыть свой файл?

Комментарии:

1. это должна быть C:something.exe обратная косая черта, а не косая черта, попробуйте.

Ответ №1:

У меня есть несколько предложений. Во-первых, не должно ли это быть

 "C:\something.exe"?
  

Насколько я понимаю, для C # требуется две косые черты и две обратные косые черты, или вы помещаете

 r="C:something.exe" 
  

чтобы сделать его путем.

Во-вторых, в зависимости от того, предназначено ли это для личного или коммерческого использования, вы можете просто использовать фактический файл .py и в скрипте C # записать в консоль для запуска файла py. Я иногда использую этот метод в python, в python это

 os.system("py something.py") 
  

и я считаю, что для этого в c # есть средство под названием ironpython, которое можно использовать следующим образом:

 using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

private static void doPython()
{
    ScriptEngine engine = Python.CreateEngine();
    engine.ExecuteFile(@"test.py");
}
  

В-третьих, не могли бы вы просто «перевести» его на C # вместо запуска .exe?

Комментарии:

1. но я не хочу запускать py-файл. Я хочу запустить exe-файл, созданный pyinstaller