今回は以前に業務でPythonファイルからC#DLLを使用しないといけない場面があったのでその時の備忘録です。
DLL
今回は例として以下のようなコードのDLLを使用します。
test.cs
public class Test
{
public static int Addiction(int a, int b)
{
int num;
num = a + b;
return num;
}
}
簡単な足し算をするプログラムです。
今回はインスタンス化しなくても呼び出せるように静的メソッドを定義しています。
Python
Python 3.7.8
使用するDLLが32bitの時はPythonも32bitを使用するようにしてください。64bitのPythonでは32bitのDLLを使用することはできません。
ライブラリ
題にも書いた通り、pythonnetを使用します
pip install pythonnet
実行ファイル
test.py
# 以下3行でDLLの読み込み
import clr
clr.AddReference("読み込むDLLのパス")
from Test import Test
# TestクラスのAddictionメソッドを呼び出す
a = Test.Addiction(3, 5)
print(a)
実行してみる
python test.py
8と出力されれば問題なく動作しています。