2016-03-16 4 views
0

Я Тринг запустить питон скрипт из C#Запуск питон скрипт из C#

и из скорлупы открывается, но сценарий не запускать

Я знаю это, так как он должен создать файл

Как я могу запустить процесс?

Process p = new Process(); // create process (i.e., the python program 
p.StartInfo.FileName = @"C:\Python27\python.exe"; 
p.StartInfo.RedirectStandardOutput = true; 
p.StartInfo.UseShellExecute = false; // make sure we can read the output from stdout 
p.StartInfo.Arguments = @"T:\barakr\360_3G_daily_report\2016.03.15\0615319253\powerlink_logs_mrg.py"; //PanelsDirectory[j] + "\\powerlink_logs_mrg.py"; // start the python program with two parameters       
p.Start(); 

ответ

0

Чтобы поставить обратную косую черту в вашей строке вам нужно, чтобы избежать его, как это: «\»

Так что ваш код будет:

Process p = new Process(); // create process (i.e., the python program 
p.StartInfo.FileName = @"C:\\Python27\\python.exe"; 
p.StartInfo.RedirectStandardOutput = true; 
p.StartInfo.UseShellExecute = false; // make sure we can read the output from stdout 
p.StartInfo.Arguments = @"T:\\barakr\\360_3G_daily_report\\2016.03.15\\0615319253\\powerlink_logs_mrg.py"; //PanelsDirectory[j] + "\\powerlink_logs_mrg.py"; // start the python program with two parameters       
p.Start(); 

имеют хороший день и надеюсь я вам помог;)

Редактирование: По-видимому, двойная обратная косая черта не нужна, когда есть @ перед строкой. Попробуйте протестировать свое местоположение непосредственно с вашей операционной системой.

0

Может быть, вам нужно поместить два '\' в каждом '\' в этой строке:

p.StartInfo.Arguments = @"T:\barakr\360_3G_daily_report\2016.03.15\0615319253\\powerlink_logs_mrg.py"; //PanelsDirectory[j] + "\\powerlink_logs_mrg.py"; // start the python program with two parameters 

Проверить эту веб-страницу: https://bytes.com/topic/python/insights/950783-two-ways-run-python-programs-c

Edit:

Попробуйте, как это :

p.StartInfo.Arguments = @"T:\\barakr\\360_3G_daily_report\\2016.03.15\\0615319253\\powerlink_logs_mrg.py"; //PanelsDirectory[j] + "\\powerlink_logs_mrg.py"; // start the python program with two parameters 

Я надеюсь, что это полезно для вас :)

+0

Кажется, что не нужно ставить двойное «/», если вы используете «@» перед строкой, извините. – Onemikoscar

0

Я думаю, что у вас есть двойной обратный слэш, который должен быть один один в конце этой линии:

p.StartInfo.Arguments = @"T:\barakr\360_3G_daily_report\2016.03.15\0615319253\\powerlink_logs_mrg.py"; 
0

Ваш код выглядит прямо ко мне. Двойная косая черта не нужна, так как константе строки предшествует @. Я рекомендую вам попробовать скопировать и вставить путь EXE и путь аргумента в окно оболочки, а затем запустить exe из окна оболочки, чтобы убедиться, что у вас нет опечатки на этих путях.

+0

не могли бы вы привести пример кода –

+0

, это должно быть 1 плоть. Измени это. такой же результат. –

Смежные вопросы