从 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中文网其他相关文章!