У меня есть проект на C#, но некоторые его части написанны python 3.5. Я хочу, чтобы при запуске моего C# проекта, автоматически запускался и моя python программа. С помощью pyinstaller, я превратил свой .py файл в .pyc. Вот способы которыми я способал открыть файл с помощью C#:
static void Main(string[] args)
{
//Я знаю, что File.Open() открывает FileStream для чтения и записи. Попробовал это от безысходности
File.Open(filepath, FileMode.Open);
Console.ReadLine();
}
Этот вариант просто не сработал, запускалась пустая консоль и ничего не происходило (я точно уверен что .pyc не запустился, ибо он должен был написать Hello World! в определённый текстовый файл, чего он не сделал)
static void Main(string[] args)
{
Process prc = new Process();
prc.StartInfo = new ProcessStartInfo();
prc.StartInfo.FileName = filepath;
prc.StartInfo.WorkingDirectory = Path.GetDirectoryName(filepath);
prc.StartInfo.UseShellExecute = false;
prc.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
prc.Start();
}
Этот вариант выдал Win32Exception с информацией:
Указанный исполняемый файл не является действительным
P.S При преобразовании из .py в .pyc, pyinstalller также создал .exe файл с именем моего python скрипта, но он (в отличие от файлов .py и .pyc), выдает Error
(аналог Exception
на python) сразу при запуске (даже если запуск из среды)
UPD: Попробовал сделать .pyc файл аргументом к .exe файлу, получился такой код:
static void Main(string[] args)
{
Console.WriteLine("Attempting to start process 'File_Bot.exe'...");
Process prc = new Process();
prc.StartInfo = new ProcessStartInfo();
prc.StartInfo.FileName = exePath;
prc.StartInfo.WorkingDirectory = Path.GetDirectoryName(exePath);
prc.StartInfo.Arguments = pycPath;
prc.StartInfo.UseShellExecute = false;
prc.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
prc.Start();
Console.WriteLine("Process {0}.exe started!", prc.ProcessName);
Console.ReadLine();
}
Оба сообщения на консоль выводятся, но процесс не делает то, что должен (хотя .py файл на котором он основам делает). Процесс даже не появляется в диспетчере задач...
Также попробовал запустить .exe из консоли, выдал Stack Trace который не выдается при запуске .py файла
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как можно отловить нажатие на браузер ? даже в пустое место ? Пока использую метод webBrowser1_DocumentCompleted , но он работает только, если я спровоцирую...
Нужно првоерить открыт ли сейчас файл в других процессах
В этом задании необходимо написать программу, объявит две переменные: первая переменная - переменная целочисленного (int) типа со значением...