C#調(diào)用python文件執(zhí)行
我的電腦環(huán)境是使用.net framework4.5.1,如果在調(diào)試過程中調(diào)不通請注意
我用的是Visual studion 2017,python組件下載地址:http://ironpython.codeplex.com/releases/view/
下載的版本是2.7,下載安裝完之后記得引入安裝路徑下的以下三個dll

(1)首先先說一個簡單的功能,在c#代碼中執(zhí)行python字符串,內(nèi)容如下:

(2)c#調(diào)用python文件:
在當前目錄下新建一個后綴名為py的文件,文件名為AmoutDisc.py內(nèi)容如下
dicAmt = 0.05 retAmt = amt if amt>25: retAmt = amt-(amt*dicAmt)
該文件定義了一個python文件,然后在c#代碼中調(diào)用該python文件,給該文件傳參,具體應(yīng)該說給參數(shù)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");
結(jié)果如下:

調(diào)用成功.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c#多線程網(wǎng)絡(luò)聊天程序代碼分享(服務(wù)器端和客戶端)
本程序使用VS2005 制作,程序分為三塊,XuLIeHua類庫下有我寫的把結(jié)構(gòu)序列化的類,還有就是服務(wù)器端和客戶端2013-12-12

