How to use the IronPython library to call Python scripts in C#?

The steps to use the IronPython library to call Python scripts in C# are as follows:

  1. Firstly, you will need to add the IronPython library to your C# project. This can be done by searching for IronPython in the NuGet package manager and adding it to the project.
  2. Create a Python script file and write the Python code that needs to be called. For example, create a Python script file named “hello.py” with the following content:
def say_hello(name):
    return "Hello, " + name + "!"
  1. In C# code, load and execute a Python script using the IronPython library. Here is an example code:
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

class Program
{
    static void Main()
    {
        // 创建Python运行时环境
        var engine = Python.CreateEngine();
        var scope = engine.CreateScope();
        
        // 加载Python脚本文件
        engine.ExecuteFile("hello.py", scope);
        
        // 调用Python函数
        dynamic say_hello = scope.GetVariable("say_hello");
        var result = say_hello("Alice");
        
        Console.WriteLine(result); // 输出:Hello, Alice!
    }
}

In this example, a Python runtime environment and a scope object are first created. The “hello.py” script file is then loaded using the ExecuteFile method, and the Python function “say_hello” is retrieved and called using the scope object.

By following the above steps, you can now use the IronPython library to call Python scripts in C#.

Leave a Reply 0

Your email address will not be published. Required fields are marked *


广告
Closing in 10 seconds
bannerAds