写一个C#的Demo程序,c#代码可以加载任意python文件并可以提供Python文件来调用C#预留的函数
时间: 2024-05-02 18:17:00 浏览: 135
以下是一个简单的演示代码,可以加载Python文件并调用其中定义的函数:
```csharp
using System;
using System.Diagnostics;
using Python.Runtime;
namespace PythonInteropDemo
{
class Program
{
static void Main(string[] args)
{
// 设置Python路径
PythonEngine.PythonPath = @"C:\Python\Python37";
// 加载Python文件
using (Py.GIL())
{
dynamic module = Py.Import("test_module");
// 调用Python函数
int result = module.add(1, 2);
Console.WriteLine("Python函数返回值:" + result);
}
// 调用C#函数
int csharpResult = Add(3, 4);
Console.WriteLine("C#函数返回值:" + csharpResult);
Console.ReadKey();
}
static int Add(int a, int b)
{
return a + b;
}
}
}
```
假设我们有一个名为`test_module.py`的Python文件,其中定义了一个简单的函数`add`:
```python
def add(a, b):
return a + b
```
当上面的C#代码运行时,它会加载`test_module.py`并调用其中的`add`函数,然后再调用C#中定义的`Add`函数。我们可以在控制台上看到这些函数的返回值。
阅读全文