이런 종류의 질문은 이전에 다양한 수준으로 요청되었지만 간결한 방식으로 답변되지 않은 것 같아서 다시 묻습니다.
파이썬에서 스크립트를 실행하고 싶습니다. 이것이 이것이라고 가정 해 봅시다.
if __name__ == '__main__':
with open(sys.argv[1], 'r') as f:
s = f.read()
print s
파일 위치를 가져 와서 읽은 다음 내용을 인쇄합니다. 그렇게 복잡하지 않습니다.
좋아, C #에서 어떻게 실행합니까?
이것이 내가 지금 가진 것입니다.
private void run_cmd(string cmd, string args)
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = cmd;
start.Arguments = args;
start.UseShellExecute = false;
start.RedirectStandardOutput = true;
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Console.Write(result);
}
}
}
작동하지 않는 위치 와 code.py
위치를 전달하면 내가 통과해야 들었다 는 AS 후, 은 AS .cmd
filename
args
python.exe
cmd
code.py filename
args
나는 잠시 동안 찾고 있었고 IronPython 등을 사용하도록 제안하는 사람들 만 찾을 수 있습니다. 그러나 C #에서 Python 스크립트를 호출하는 방법이 있어야합니다.
몇 가지 설명 :
C #에서 실행해야하고 출력을 캡처해야하며 IronPython 또는 다른 것을 사용할 수 없습니다. 해킹이 무엇이든 괜찮을 것입니다.
추신 : 내가 실행중인 실제 Python 코드는 이것보다 훨씬 복잡하며 C #에서 필요한 출력을 반환하며 C # 코드는 지속적으로 Python 코드를 호출합니다.
이것이 내 코드 인 척 :
private void get_vals()
{
for (int i = 0; i < 100; i++)
{
run_cmd("code.py", i);
}
}