졸업프로젝트
[Node.js] child-process 이용하기
valid_ming
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