如何在JavaScript文件中调用Python函数?含dbutils未定义报错解决需求
问题原因与解决方案
报错原因
dbutils是Databricks平台专属的工具库,仅能在Databricks Notebook环境中使用,本地Node.js环境(无论使用.mjs还是.js模块)并未内置该对象,因此会抛出ReferenceError: dbutils is not defined错误。
本地JS调用Python函数的轻量方案(无需Flask/Django)
直接使用Node.js内置的child_process模块,通过命令行调用Python脚本并传递参数,具体实现如下:
1. 调整Python脚本(aPythonFile.py)
让脚本支持从命令行接收参数:
import sys def my_python_function(parameter1): print(parameter1) if __name__ == "__main__": if len(sys.argv) > 1: param = sys.argv[1] my_python_function(param)
2. 编写JS调用代码(main.mjs)
使用child_process.exec执行Python命令:
import { exec } from 'child_process'; exec('python aPythonFile.py helloWorld', (error, stdout, stderr) => { if (error) { console.error(`执行出错: ${error.message}`); return; } if (stderr) { console.error(`错误输出: ${stderr}`); return; } console.log(`Python脚本输出: ${stdout}`); });
若系统中Python命令为python3,将代码中的python替换为python3即可。
3. 运行方式
在终端执行:
node main.mjs
即可看到Python脚本输出的helloWorld。
内容的提问来源于stack exchange,提问作者codingCode
相关产品推荐
相关产品推荐

