У меня есть проект на 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 файла
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как можно отловить нажатие на браузер ? даже в пустое место ? Пока использую метод webBrowser1_DocumentCompleted , но он работает только, если я спровоцирую...
Нужно првоерить открыт ли сейчас файл в других процессах
В этом задании необходимо написать программу, объявит две переменные: первая переменная - переменная целочисленного (int) типа со значением...