我用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(...) 在这里不会有用,因为我不想要流(或者是我?),只需要路径。
答案 0 :(得分:0)
如果脚本是嵌入式资源(How to read embedded resource text file),则可以将其读取为字符串并使用python.exe的-c参数