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>:
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(""));
scriptSource.Execute(scope);
dynamic a = scope.GetVariable("retAmt");
结果如下:

调用成功.
C#调用python文件执行的更多相关文章
- Jython:java调用python文件之第三方包路径问题
本文转载自:http://blog.csdn.net/ztf312/article/details/51338060 本方法解决python代码的可移植性,不需要在新机器上配置python环境,只通过 ...
- C/C++中调用python文件
1.将python27安装目录下include.libs文件夹拷贝至Demo程序目录. 2.Demo项目设置包含Python.h.python27.lib); (因为安装python27的时候,pyt ...
- C++ 调用Python文件方法传递字典参数并接收返回值
首先本地需要安装有Python环境,然后在c++工程中包含Python的头文件,引用Python的lib库. //python 初始化 Py_Initialize(); if (!Py_IsIniti ...
- 调用bat文件执行java文件
set path=./jre7/bin--设置jre路径,可以写jre的全路径java -cp "lib/*;" -Xms256m -Xmx512m com.shentong.Ma ...
- C++调用python
本文以实例code讲解 C++ 调用 python 的方法. 本文在util.h中实现三个函数: 1. init_log: 用google log(glog)初始化log 2. exe_command ...
- 【.NET调用Python脚本】C#调用python requests类库报错 'module' object has no attribute '_getframe' - IronPython 2.7
最近在开发微信公众号,有一个自定义消息回复的需求 比如用户:麻烦帮我查询一下北京的天气? 系统回复:北京天气,晴,-℃... 这时候需要根据关键字[北京][天气],分词匹配需要执行的操作,然后去调用天 ...
- R 调用 python
上一篇说了python使用 rpy2 调用 R,这里介绍R如何调用python.R的强项在于统计方面,尤其是专业的统计分析,统计检验以及作图功能十分强大,但是在通用性方面,就远不如Python了,比如 ...
- Python语言学习之C++调用python
C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...
- python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...
随机推荐
- python基础一数据类型之列表
摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...
- Oracle EBS AR 其他API
DECLARE L_CR_ID NUMBER; L_ATTRIBUTE_REC AR_RECEIPT_API_PUB.ATTRIBUTE_REC_TYPE; L_GLOBAL_ATT_REC AR_R ...
- python selenium爬取自如租房数据保存到TXT文件
# -*- coding: utf-8 -*-"""Created on Fri Aug 31 2018 @author: chenlinlab"" ...
- idea 2017破解方法
http://blog.csdn.net/zx110503/article/details/78734428
- centos中,tomcat项目创建文件的权限
参考文章:https://cloud.tencent.com/info/5f02caa932fd6dbfc46a3bb01af135e0.html 我们在centos中输入umask,会看到输出002 ...
- javascript,object,IDispatchEx笔记
//js: var testObj=new Object; //com内部: testObj=Object::InvokeEx(wFlags==DISPATCH_CONSTRUCT); //注: // ...
- Spring boot整合Hive
使用Spring boot整合Hive,在启动Spring boot项目时,报出异常: java.lang.NoSuchMethodError: org.eclipse.jetty.servlet.S ...
- Angular开发环境搭建和项目创建以及启动
工具的安装 首先需要安装node,直接在官网下载node,然后一直下一步安装完即可,在安装node的时候自带了npm包管理工具 然后安装Angular CLI,使用npm命令安装输入以下命令 npm ...
- linux添加磁盘空间
首先你要关掉系统,把分配的硬盘空间变大,或者重新建立一个虚拟硬盘(这时下面的就不是sda了,而是sdb1了).这两种方法都可行,我都试过了.其次用root用户登录到你的linux系统,查看你系统的分区 ...
- POJ3801 Crazy Circuits
嘟嘟嘟 上下界网络流之最小流. 建图不说啦,裸的. 在有附加源\(S\)和附加汇\(T\)的图上跑完后,删除和\(S, T\)相连的边.然后因为可能流多了,所以现在应该退流,于是我们从\(t\)到\( ...