首页 > 解决方案 > 在 C# 控制台应用程序中运行 Python EXE(在 PyInstaller 中创建)

问题描述

我有一个.py使用文件从文件创建的 exe 文件PyInstaller,它在我手动打开时工作。我想在控制台应用程序中使用 C# 打开它。

但是我的 python exe 文件没有打开。什么都没有发生。我以为我可以这样做:

using System.Diagnostics;

class Program
{
    static void Main()
    {
        Process.Start("C:/something.exe");
    }
}

这对于在 C# 中创建的 exe 文件非常有效,但不适用于在 Python 中使用 PyInstaller 创建的文件。

如何打开我的文件?

标签: pythonc#python-3.xprocesspyinstaller

解决方案


我有几个建议。首先,不应该

"C:\\something.exe"?

据我了解,C# 需要两个斜杠和两个反斜杠,或者你把

r="C:\something.exe" 

使它成为一条路径。

其次,根据这是用于个人还是商业用途,您可以只使用实际的 .py 文件并在 C# 脚本中写入控制台以运行 py 文件。我有时在python中使用这种方法,在python中它是

os.system("py something.py") 

我相信在c#中有一个叫做ironpython的东西,它可以像这样使用:

using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

private static void doPython()
{
    ScriptEngine engine = Python.CreateEngine();
    engine.ExecuteFile(@"test.py");
}

第三,您不能将其“翻译”为 C# 而不是运行 .exe 吗?


推荐阅读