2016-12-07 4 views
0

Я пытаюсь добавить скрипт python в мое приложение wpf. Этот скрипт выполняется в приложении через новый процесс. Однако я хочу обновить сценарий без обновления программы wpf.Добавление скрипта python в мое приложение wpf. Not Embedded

В настоящее время я пытаюсь что-то вроде этого, но изменения, внесенные в скрипт, не выполняются.

var script = Resources.parser; 

    var path = Path.Combine(root, "parser.py"); 

    using (var fw = new StreamWriter(path)) 
    { 
     fw.Write(script); 
    } 

    ProcessStartInfo startInfo = new ProcessStartInfo(); 
    startInfo.FileName = "cmd.exe"; 
    startInfo.Arguments = "C:/Anaconda3/python.exe"; 
    DianaLive.p = Process.Start("C:/Anaconda3/python", $"{path} {root} {root}\\{title}.out"); 

ответ

0

Чтобы ответить на мой собственный вопрос:

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

var dir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 
    var path = Path.Combine(dir, "Resources", "parser.py"); 

    string script; 
    using (var sr = new StreamReader(path)) 
    { 
     script = sr.ReadToEnd(); 
    } 
    path = Path.Combine(root, "parser.pyw"); 

    using (var fw = new StreamWriter(path)) 
    { 
     fw.Write(script); 
    }