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#可执行文件必须在同一个目录下才行

相关推荐
Mr.Lu ‍1 分钟前
QT调试查看QT内部数据时显示无可用信息,未为 Qt5Cored.dll 加载任何符号
开发语言·qt
qq_452396233 分钟前
第九篇:《Dockerfile 指令精讲(二):WORKDIR、ENV、ARG、EXPOSE》
java·开发语言·docker
Cthy_hy5 分钟前
Python算法竞赛:集合去重+字典映射 核心用法一站式整理
数据结构·python·算法
JAVA社区5 分钟前
Java高级全套教程(九)—— SpringCloud超详细实战详解
java·开发语言·后端·spring cloud·面试·职场和发展
索西引擎6 分钟前
【langchain 1.0】ChromaDB 原生 API 实战:为 LangChain 向量库打造管理工具集
python·ai·langchain
Sirius.z7 分钟前
第J6周:Inception v1算法实战
python
wyjcxyyy7 分钟前
java反序列化-cc1链
java·c语言·开发语言
山上三树7 分钟前
Python 高频报错速查表(开发通用版)
开发语言·python
Wonderful U9 分钟前
AI智能日志异常检测告警平台:告别人工排查,秒级定位线上故障
数据库·人工智能·python·django
傻啦嘿哟12 分钟前
解决DNS污染:防止OpenClaw解析API域名到虚假地址
开发语言·php