从C#执行嵌入式python文件

时间:2019-03-14 16:53:43

标签: c# python process path

我用C#用Python和GUI编写了脚本。这就是为什么我想从C#中运行Python(由于各种模块(即IronPython不支持),我必须使用原始的Python版本)。为了保护脚本,我将其嵌入到.exe文件中。现在,如何获取脚本路径? 我之前的代码:

    string python = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\python\python.exe";

    // NOW it obviously does not work
    string scriptPath = @"C:\..\script.py";

    ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(python);
    myProcessStartInfo.UseShellExecute = false;
    myProcessStartInfo.RedirectStandardOutput = true;
    myProcessStartInfo.Arguments = scriptPath;
    Process myProcess = new Process();
    myProcess.StartInfo = myProcessStartInfo;
    myProcess.Start();

Assembly.GetExecutingAssembly()。GetManifestResourceStream(...) 在这里不会有用,因为我不想要流(或者是我?),只需要路径。

1 个答案:

答案 0 :(得分:0)

如果脚本是嵌入式资源(How to read embedded resource text file),则可以将其读取为字符串并使用python.exe的-c参数