C#使用pythonnet简单示例

1.nuget安装pythonnet

2.编写python测试文件 example.py内容如下

复制代码
def HelloWorld():
     print("Hello world")

class Calculator:
    def add(self,a:float,b:float)->float:
         return a+b

3.c#下测试

复制代码
    Runtime.PythonDLL = "C:\\Program Files\\Python312\\python312.dll";
    PythonEngine.Initialize();
 
    PythonEngine.BeginAllowThreads();
    

using (Py.GIL())
    {
        string FileName = "example";
        dynamic mymodule = Py.Import(FileName);

        //dynamic py = mymodule.HelloWorld();

        dynamic calculator = mymodule.Calculator();
        float x = calculator.add(12.1, 23.23);

        Log.Logger.Debug($"py cal =  [{x}]  ");
 

    }

4.测试效果,C#控制台输出结果

5.注意 python文件和C#可执行文件必须在同一个目录下才行

相关推荐
弹简特3 分钟前
【Java项目-企悦抽】07-用户与认证模块-实现用户注册01
java·开发语言
Csvn4 分钟前
Python 开发技巧:标准库深度挖掘
后端·python
li星野21 分钟前
二分查找的三重变奏:有序区间、旋转最小值与平方根——从“猜数字”到“向量检索”的思维演化
python
你怎么知道我是队长28 分钟前
JavaScript 的控制语句介绍
开发语言·javascript·ecmascript
RSTJ_16251 小时前
PYTHON+AI LLM DAY ONE HUNDRED AND THREE
开发语言·人工智能·python
简~7681 小时前
python openpyxl处理Excel成绩表自动统计
python·大学生
qq_454245031 小时前
BasicMethod.Map 设计框架:8 个并行基础模块的数学根基与实现
数据结构·算法·c#
梦想不只是梦与想1 小时前
Python 官方包管理器pip
python·pip
charlie1145141912 小时前
RK3506B: buildroot:出一份正规的最小 rootfs
开发语言·嵌入式·开源项目·rk3506b
Byron Loong2 小时前
【c#】Bitmap释放之 大象与蚊子
开发语言·c#