C#调用Python文件执行

    我的电脑环境是使用.net framework4.5.1,如果在调试过程中调不通请注意

    我用的是Visual studion 2017,python组件下载地址:http://ironpython.codeplex.com/releases/view/

    下载的版本是2.7,下载安装完之后记得引入安装路径下的以下三个dll

    

    (1)首先先说一个简单的功能,在c#代码中执行python字符串,内容如下:

    

 

    (2)c#调用python文件:

        在当前目录下新建一个后缀名为py的文件,文件名为AmoutDisc.py内容如下

    

dicAmt = 0.05
retAmt = amt
if amt>25:
   retAmt = amt-(amt*dicAmt)

    该文件定义了一个python文件,然后在c#代码中调用该python文件,给该文件传参,具体应该说给参数amt传值,最后在代码中获取python文件中的retAmt的变量

值,具体代码如下:

                ScriptRuntime scriptRuntime =Python.CreateRuntime();
                ScriptEngine pythEng = scriptRuntime.GetEngine("Python");
                ScriptSource scriptSource = pythEng.CreateScriptSourceFromFile("AmoutDisc.py");
                ScriptScope scope = pythEng.CreateScope();
                //scope.SetVariable("prodCount", Convert.ToInt32("34343"));
                scope.SetVariable("amt", Convert.ToDecimal("434"));
                scriptSource.Execute(scope);
                dynamic a = scope.GetVariable("retAmt");

结果如下:

调用成功.

 

posted @   tuohaibei  阅读(10482)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示