从C#(面向对象方法)调用python脚本

2024-09-27 20:19:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从C#(visualstudio)运行python脚本。我不想使用C#process来做这件事,因为我必须能够访问python的所有模块、类和方法(我希望将其视为python对象)。我在找这样的东西:

“Python代码”

“PyModule”

class PyClass:

    def method:
        print("Hello world!")

C代码

using PyModule.PyClass

PyClass.method()

我找到了python.nethttp://pythonnet.github.io/,但他们说他们的解决方案是无法验证的。 我必须用Python3编写它,所以IronPython不是我的解决方案

你知道类似的解决方案吗


Tags: 模块对象方法代码脚本hellodef解决方案
1条回答
网友
1楼 · 发布于 2024-09-27 20:19:39

好吧,请按照评论中的建议来看看IronPython。您可以编写python脚本,将其保存到greet.py

def greet(name):
    return 'Hello ' +  name + '!'

现在从C#你可以做:

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

static void RunPythonScript()
{
    var engine = Python.CreateEngine();
    dynamic scope = engine.CreateScope();

    engine.ExecuteFile("greeting.py", scope);
    var greeting = scope.greet("John");

    Console.WriteLine(greeting);
}

正如您所期望的,结果是Hello John!

相关问题 更多 >

    热门问题