Server

nodejs 에서 py 파일을 읽어와서 실행한 결과를 string 으로 가져오는 법

클레인 2024. 1. 27.
반응형

Node.js에서 Python 스크립트를 실행하고 그 결과를 문자열로 가져오기 위해서는 child_process 모듈을 사용할 수 있습니다. 아래는 해당 작업을 수행하는 간단한 예제 코드입니다.

먼저, child_process 모듈을 사용하여 Python 스크립트를 실행하는 Node.js 코드를 작성합니다.

여기서는 spawn 메서드를 사용해서 예제로 작성해 보겠습니다.

 

const { spawn } = require('child_process');

// Python 스크립트의 경로
const pythonScriptPath = 'path/to/your/python/script.py';

// Python 스크립트에 전달할 인자 (예: 스크립트가 기대하는 인자)
const pythonScriptArgs = ['arg1', 'arg2'];

// Python 스크립트 실행
const pythonProcess = spawn('python', [pythonScriptPath, ...pythonScriptArgs]);

// Python 스크립트의 표준 출력 데이터를 저장할 변수
let resultString = '';

// 표준 출력 데이터 이벤트 핸들러
pythonProcess.stdout.on('data', (data) => {
  resultString += data.toString();
});

// Python 스크립트 실행 완료 이벤트 핸들러
pythonProcess.on('close', (code) => {
  if (code === 0) {
    console.log('Python 스크립트 실행 성공');
    console.log('결과:', resultString);
  } else {
    console.error('Python 스크립트 실행 실패. 종료 코드:', code);
  }
});

// Python 스크립트 실행 중 에러 이벤트 핸들러
pythonProcess.on('error', (err) => {
  console.error('Python 스크립트 실행 중 에러:', err);
});

 

이 코드에서는 spawn 메서드를 사용하여 Python 스크립트를 실행하고,

 

스크립트의 표준 출력 데이터를 수신하여 문자열로 저장합니다.

 

실행이 완료되면 결과를 출력하고, 실행이 실패하면 에러 메시지를 출력합니다.

반응형

댓글