[PYTHON] C #의 Python 스크립트에서 특정 메서드를 호출하려면 어떻게해야합니까?
PYTHONC #의 Python 스크립트에서 특정 메서드를 호출하려면 어떻게해야합니까?
C # 프로젝트를 통해 Python 스크립트에서 특정 메서드를 호출 할 수 있는지 궁금합니다.
나는 코드가 없다 ...하지만 내 생각은 :
파이썬 코드 :
def SetHostInfos(Host,IP,Password):
Work to do...
def CalcAdd(Numb1,Numb2):
Work to do...
C # 코드 :
SetHostInfos("test","0.0.0.0","PWD")
result = CalcAdd(12,13)
이 Python 스크립트에서 C #을 통해 Method 중 하나를 어떻게 호출 할 수 있습니까?
해결법
-
==============================
1.IronPython을 호스팅하고, 스크립트를 실행하고, 생성 된 범위를 통해 스크립트 내에 정의 된 함수에 액세스 할 수 있습니다.
IronPython을 호스팅하고, 스크립트를 실행하고, 생성 된 범위를 통해 스크립트 내에 정의 된 함수에 액세스 할 수 있습니다.
다음 샘플은 기본 개념과 C #에서 함수를 사용하는 두 가지 방법을 보여줍니다.
var pySrc = @"def CalcAdd(Numb1, Numb2): return Numb1 + Numb2"; // host python and execute script var engine = IronPython.Hosting.Python.CreateEngine(); var scope = engine.CreateScope(); engine.Execute(pySrc, scope); // get function and dynamically invoke var calcAdd = scope.GetVariable("CalcAdd"); var result = calcAdd(34, 8); // returns 42 (Int32) // get function with a strongly typed signature var calcAddTyped = scope.GetVariable<Func<decimal, decimal, decimal>>("CalcAdd"); var resultTyped = calcAddTyped(5, 7); // returns 12m
-
==============================
2.비슷한 방법을 찾았습니다. 메서드 호출은 훨씬 쉽습니다.
비슷한 방법을 찾았습니다. 메서드 호출은 훨씬 쉽습니다.
C # 코드는 다음과 같습니다.
IDictionary<string, object> options = new Dictionary<string, object>(); options["Arguments"] = new [] {"C:\Program Files (x86)\IronPython 2.7\Lib", "bar"}; var ipy = Python.CreateRuntime(options); dynamic Python_File = ipy.UseFile("test.py"); Python_File.MethodCall("test");
그래서 기본적으로 파이썬 파일에 정의하고자하는 라이브러리 경로가있는 사전을 제출합니다.
그래서 PYthon 스크립트는 다음과 같습니다 :
#!/usr/bin/python import sys path = sys.argv[0] #1 argument given is a string for the path sys.path.append(path) import httplib import urllib import string def MethodCall(OutputString): print Outputstring
그래서 메서드 호출은 이제 C #에서 훨씬 쉬워졌습니다. 그리고 인수 전달은 그대로 유지됩니다. 또한이 코드를 사용하면 사용자 정의 라이브러리 폴더를 가져올 수 있습니다. 네트워크에서 작업하는 경우 매우 유용한 Python 파일 다른 PC가 많이있다.
-
==============================
3.파이썬 프로그램이 명령 행에서 인수를 취한 다음 C # 코드에서 명령 행 응용 프로그램으로 호출 할 수 있습니다.
파이썬 프로그램이 명령 행에서 인수를 취한 다음 C # 코드에서 명령 행 응용 프로그램으로 호출 할 수 있습니다.
그렇게하면 갈 길이 멀다.
C #에서 파이썬 스크립트를 어떻게 실행합니까? http://blogs.msdn.com/b/charlie/archive/2009/10/25/hosting-ironpython-in-a-c-4-0-program.aspx
from https://stackoverflow.com/questions/13231913/how-do-i-call-a-specific-method-from-a-python-script-in-c by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Google 애플 리케이션 로그인 django에 (0) | 2018.10.25 |
---|---|
[PYTHON] Python에서 파일이 심볼릭 링크인지 확인하십시오. (0) | 2018.10.24 |
[PYTHON] 트위스트 conch 파일 전송 (0) | 2018.10.24 |
[PYTHON] python3에서 프로그램의 표준 입력으로 보내기 3 (0) | 2018.10.24 |
[PYTHON] Scikit을 사용하여 특정 클래스 예측에 대한 각 기능의 기여도 결정 (0) | 2018.10.24 |