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

相关推荐
Omigeq19 小时前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人
2301_8084143819 小时前
自动化测试的实施
开发语言·python
无限码力19 小时前
华为OD技术面真题 - Python开发 - 4
python·华为od·华为od技术面真题·华为od面试八股文·华为od面试真题·华为odpython开发真题·华为od技术面题目
波波00719 小时前
写出稳定C#系统的关键:不可变性思想解析
开发语言·c#·wpf
willhuo19 小时前
基于Playwright的抖音网页自动化浏览器项目使用指南
爬虫·c#·.netcore·webview
dr_yingli19 小时前
fMRI(3-1)报告(个体化报告)生成器说明
开发语言·matlab
hrhcode19 小时前
【java工程师快速上手go】一.Go语言基础
java·开发语言·golang
l1t19 小时前
用wsl自带的python 3.10下载适用于3.12的pandas版本结合uv安装python 3.12模拟离线安装场景
python·pandas·uv
飞Link20 小时前
【AI大模型实战】万字长文肝透大语言模型(LLM):从底层原理解析到企业级Python项目落地
开发语言·人工智能·python·语言模型·自然语言处理
妙蛙种子31120 小时前
【Java设计模式 | 创建者模式】 原型模式
java·开发语言·后端·设计模式·原型模式