C#내에서 파이썬을 불러와야 하는 경우가 생겨서 간단하게 IronPython을 이용하여 구현하였다.
우선 NuGet에서 IronPython을 설치를 해준다.
(만약 인터넷이 없는 환경이라면 IronPython.dll을 따로 받아서 프로젝트에 참조를 추가해주면 된다.)
아래는 IronPython으로 sum 함수를 불러오는 방식인데 간단하고 사용하기 쉬운 장점이 있다.
하지만 Import를 사용하는 건 안되는데, 예를 들어서 numpy이다. 이건 다음 글에서 추가를 하겠다.
// C#
var engine = IronPython.Hosting.Python.CreateEngine();
var scope = engine.CreateScope();
try
{
string pathPython = String.Concat(@"C:\Users\파이썬 파일 경로\파일명.py");
var pythonFunc = engine.CreateScriptSourceFromFile(pathPython);
pythonFunc.Execute(scope);
var sum = scope.GetVariable<Func<int, int, int>>("sum");
Console.WriteLine(String.Concat(sum(2, 3).ToString(), "+점"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// 파이썬 파일명.py
def sum(a, b):
return a+b
print('python Test')
'Programming > C#' 카테고리의 다른 글
[C#] C#에서 csv파일 읽기, 쓰기, 추가 및 수정 (Open, Create, Append) (0) | 2021.11.05 |
---|