[node.js] 노드에서 파이선 실행하는 방법

# print.py

import sys

def main(name, site):
    print(f"hello, this is python code. my name is {name}, and my blog is {site}")

if __name__ == '__main__':
    main(sys.argv[1], sys.argv[2])

변수 2개를 받아서 프린트하는 함수를 만들었습니다. 이방법은 노드에서 변수를 어떻게 파이선에 전달 알수 있습니다.

# connectPython.js

const spawn = require("child_process").spawn;

const result = spawn("python3", ["print.py", "js", "itjs"]);

result.stdout.on("data", function (data) {
  console.log(data.toString());
});

result.stderr.on("data", function (data) {
  console.error(data.toString()); // 에러가 발생한 경우 console.error를 통해 출력합니다.
});

// Python 프로세스가 종료되었을 때 이벤트를 처리할 수도 있습니다.
result.on("close", function (code) {
  console.log(`Python process exited with code ${code}`);
});

node의 기본 라이브러리인 child_process를 사용해서 파이선을 호출할수 있다.
spawn(“python3”, [“print.py”, “js”, “itjs”]);을 보면 알수 있듯이 실행하는 파일을 선택하고 넘겨줄 파라미터를 입력하면 된다.

Leave A Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다