2016-12-07 2 views
0

私はwpfアプリケーションにpythonスクリプトを追加しようとしています。このスクリプトは、新しいプロセスを介してアプリケーションで実行されます。しかし、私はwpfプログラムを更新せずにスクリプトを更新できるようにしたい。wpfアプリケーションにpythonスクリプトを追加しています。埋め込みではありません

私は現在、このようなことを試していますが、スクリプトの変更は実行されません。

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

自分の質問に答えるために:

を私はそれが最も派手な解決策ではないと思いますが、私はresourcesディレクトリを見つけるために、アセンブリのパスを使用していました。

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); 
    } 
関連する問題