我的電腦環境是使用.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");
結果如下:
調用成功.