2013-09-22 4 views
1

나는 이것을 수행하는 방법을 모색했지만 지금까지 성공하지 못했습니다. How do I run a Python script from C#?C#에서 대화 형 Python 스크립트 실행

하지만 내 경우에는 는 스크립트가 더 이렇게되면 :

def main(): 
    i = raw_input("i = ") 

나는 다음과 같은 프로세스를 생성하여 출력 벌금을 리디렉션 할 수 있습니다

내 질문이 하나와 유사한 :

ProcessStartInfo info = new ProcessStartInfo("cmd", "/c python myFile.py"); 

어떻게 입력을 다시 받습니까?

파이썬 스크립트는 무엇이든 사용할 수 있습니다. 입력이 예상되는시기를 알지 못해서 streamwriter를 사용하여 redirectStandardInput을 true로 설정하여 프로세스에 기록하면 작동하지 않습니다.

도움이 될 것입니다. 모두에게 감사드립니다!

답변

0

프로세스의 stdin을 리디렉션해야합니다. 다음은 그렇게 할 수있는 방법의 전체 예제입니다

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardinput.aspx

+0

불행하게도 cmd를 파이썬과 같은 다른 프로세스를 실행하는 데 사용되는 경우 작동하지 않는 표준 입력을 리디렉션. 어쨌든 리다이렉션은 C# 코드를 통해 스크립트가 실행되기 전에 언제, 얼마나 많은 시간이 걸릴지를 알 수 있습니다. – Nikeah

+0

정확히 작동하지 않는다는 것을 어떻게 알았습니까? 예제를 제공해 줄 수 있습니까? 나는 질문을 이해하지 못할까 두렵다. –

+1

리다이렉트가 작동하기 때문에 돌아와서 회신 해 볼 생각이다. 파이썬 프로세스가 작동하려면 대화식 모드로 실행해야한다는 것을 알게되었습니다. 프로세스에 인수로 "-i"를 전달하여 수행 할 수 있습니다. 감사 Chiel – Nikeah

관련 문제