-
[Node.js] child-process 이용하기졸업프로젝트 2021. 4. 10. 19:32
모듈을 설치한다.
>> npm install child-process
spawn에서 python을 사용한다는 정보와 실행 스크립트, 인자를 함께 넘겨주고
stdout.on('data', 콜백함수) 통해 실행 결과가 반환됨을 캐치하고 콜백 함수를 이용하여 데이터를 처리한다.
나의 경우 받은 데이터의 한글이 깨져서 들어와 utf-8로 변환해 주었다.
const spawn = require('child-process').spawn; const python = spawn('python',["test.py", argv]); python.stdout.on('data', function(chunk,error){ if(error) console.log("에러발생 ::: ",error) var textChunk = chunk.toString('utf8'); console.log("return value ::: "+textChunk) })
sys.argv를 이용하여 인자를 확인하고 print를 이용하여 데이터를 반환한다.
만약 들어오거나 나간 데이터의 한글 깨짐 현상이 나타난다면 아래 코드를 작성해보자
import sys sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') print sys.argv
'졸업프로젝트' 카테고리의 다른 글
[Spring] 프로젝트 시작하기 (0) 2021.10.23 [Node.js] 회의 분석 성능 개선 (node.js에서 파이썬 스크립트 실행하는 다양한 방법) (0) 2021.04.10 [Node.js] python-shell 이용하기 (0) 2021.04.10 [Node.js] Redis 사용하여 파이썬 프로세스와 메시지 교환하기 (pub/sub) (3) 2021.04.10 [Node.js] express 서버 구축 (mySQL 연동) (0) 2021.04.10