Node.js에서 Python 함수 호출
Node.js 애플리케이션에서 Python의 기계 학습 라이브러리 기능을 수용하려면 호출하는 방법이 필요합니다. Node.js 환경의 Python 함수입니다. 'child_process' 패키지는 이러한 격차를 해소하는 이상적인 도구로 등장합니다.
해결책: 'child_process' 활용
'child_process' 패키지를 사용하면 다음을 만들 수 있습니다. Python 하위 프로세스를 만들고 그 안에서 Python 함수를 실행합니다. 방법은 다음과 같습니다.
'child_process' 모듈을 가져와 시작합니다.
const spawn = require("child_process").spawn;
Python 하위 프로세스를 만들고 Python을 제공합니다. 스크립트 경로 및 원하는 인수:
const pythonProcess = spawn('python', ["path/to/script.py", arg1, arg2, ...]);
Python 측에서는 'sys'를 가져왔는지 확인하고 'sys.argv'를 사용하여 Node.js에서 전달된 인수에 액세스합니다.
import sys arg1 = sys.argv[1] arg2 = sys.argv[2]
Node.js에 데이터를 반환하려면 Python 스크립트에서 'print'를 사용하고 출력:
print(dataToSendBack) sys.stdout.flush()
Node.js에서 Python 하위 프로세스의 데이터를 수신합니다.
pythonProcess.stdout.on('data', (data) => { // Handle the data received from the Python script });
유연성 및 동적 함수 호출
이 접근 방식의 장점은 여러 Python 스크립트에 전달될 인수입니다. 이러한 유연성을 통해 지정된 인수가 호출할 함수를 결정하고 다른 인수가 해당 함수에 전달되는 Python 스크립트를 설계할 수 있습니다.
예:
Python 스크립트, 기계 학습을 위한 함수와 지정된 인수를 기반으로 호출할 함수를 조정하는 기본 함수를 정의합니다.
def machine_learning_function(data): # Implement the machine learning functionality def main(): function_name = sys.argv[1] data = sys.argv[2] if function_name == "machine_learning_function": machine_learning_function(data) if __name__ == "__main__": main()
전달하여 함수 이름과 데이터를 Node.js에서 스크립트에 대한 인수로 사용하면 적절한 Python 함수를 동적으로 호출할 수 있습니다.
참고: Node.js와 Python 간의 데이터 전송은 표준을 통해 이루어집니다. 출력 및 표준 입력 스트림.
위 내용은 'child_process'를 사용하여 Node.js에서 Python 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!