在C#中調(diào)用Python腳本,可以使用Pythonnet庫(Python for .NET)或者IronPython庫。這里我將分別介紹這兩種方法。
首先,需要安裝Pythonnet庫。在命令行中運行以下命令:
pip install pythonnet
然后,在C#項目中添加對Pythonnet庫的引用。在解決方案資源管理器中,右鍵單擊項目名稱,選擇“添加”->“引用”,然后在“程序集”選項卡中找到并添加Pythonnet庫。
接下來,編寫C#代碼調(diào)用Python腳本。例如,假設(shè)有一個名為example.py
的Python腳本,內(nèi)容如下:
def add(a, b):
return a + b
在C#中調(diào)用此腳本:
using System;
using Python.Runtime;
namespace CallPythonFromCSharp
{
class Program
{
static void Main(string[] args)
{
using (Py.GIL()) // 初始化Python引擎
{
dynamic py = Py.Import("example"); // 導(dǎo)入Python腳本
int result = py.add(3, 4); // 調(diào)用Python函數(shù)
Console.WriteLine("Result: " + result); // 輸出結(jié)果
}
}
}
}
首先,需要安裝IronPython庫。在命令行中運行以下命令:
pip install IronPython
然后,在C#項目中添加對IronPython庫的引用。在解決方案資源管理器中,右鍵單擊項目名稱,選擇“添加”->“引用”,然后在“程序集”選項卡中找到并添加IronPython庫。
接下來,編寫C#代碼調(diào)用Python腳本。例如,假設(shè)有一個名為example.py
的Python腳本,內(nèi)容如下:
def add(a, b):
return a + b
在C#中調(diào)用此腳本:
using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
namespace CallPythonFromCSharp
{
class Program
{
static void Main(string[] args)
{
ScriptEngine engine = Python.CreateEngine(); // 創(chuàng)建Python引擎
ScriptSource source = engine.CreateScriptSourceFromFile("example.py"); // 從文件中加載Python腳本
ScriptScope scope = engine.CreateScope(); // 創(chuàng)建Python作用域
source.Execute(scope); // 執(zhí)行Python腳本
Func<int, int, int> add = scope.GetVariable<Func<int, int, int>>("add"); // 獲取Python函數(shù)
int result = add(3, 4); // 調(diào)用Python函數(shù)
Console.WriteLine("Result: " + result); // 輸出結(jié)果
}
}
}
這樣,你就可以在C#中調(diào)用Python腳本了。注意,這兩種方法都需要Python環(huán)境。如果沒有安裝Python,需要先安裝Python。