ga('set', 'anonymizeIp', 1);
Categories: C#Coding

[C#] 使用IronPython調用python程式在開發視窗程式使用

Share

python GUI實現有許多方法,PyQt、Tkinter等等。這邊介紹的是C#視窗程式中調用你的python檔案,這樣一來就能實現為python程式產生GUI的方式。

本文說明IronPython for C#的設定及使用方式。

IronPython下載

官方網站:https://ironpython.net/

目前最新版本是2.7.9 (2019/11/01)

這邊我們可以直接下載zip檔案,之後直接複製內含的所需的資料夾或檔案引用即可。


調用前置作業

zip解壓縮後裡面會有DLL檔案(在net45這個資料夾中),請在你的C#視窗程式中引用下面兩個參考:

  • IronPython.dll
  • Microsoft.Scripting.dll

在你的程式中加入引用:

using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

先假設要引用的python程式如下:

def add(num1, num2):
    return num1+num2

C#函式中程式如下:

ScriptRuntime pyRuntime = Python.CreateRuntime();
dynamic obj = pyRuntime.UseFile("./yourPythonFile.py");
int sum = obj(1, 2);
Console.WriteLine(sum);

正常的話在輸出應該就能看到”3″。

關於import module exception的解決方式

修改C#程式如下:(加入IronPython的Lib資料夾路徑)

ScriptRuntime pyRuntime = Python.CreateRuntime();
var engine = pyRuntime.GetEngine("Python");
var pyScope = engine.CreateScope();
var paths = engine.GetSearchPaths();
paths.add(@"C:\IronPython.2.7.9\Lib");
dynamic obj = pyRuntime.UseFile("./yourPythonFile.py");
int sum = obj(1, 2);
Console.WriteLine(sum);
Jys

Published by
Jys

Recent Posts

[python] Flask Create RESTful API

This article gi... Read More

3 年 前發表

[Javascript] 新增/刪除JSON中key值

在web訊息交換常會需要對JS... Read More

3 年 前發表

[JAVA] SQL Server Connection

本文介紹JAVA連線SQL s... Read More

3 年 前發表