从Naked
文档:
execute_js() 函数在 Node.js 脚本文件上运行 execute() 函数。不要将要执行的命令作为第一个参数传递,而是将 Node.js 脚本文件路径作为第一个参数传递,将任何其他命令参数作为第二个参数传递(可选)
所以问题不在于python,而在于Node.js
程序。
在这里,您可以找到有关从控制台运行时如何将参数传递给节点程序的说明。
我认为您的问题的解决方案是更改节点程序如下:
var pi = process.argv[2];
console.log(pi);
您选择第三个参数的位置,因为前两个分别是 node.js 路径和当前程序路径。
更新:如果要传递超过 1 个变量,只需将所有变量作为空格分隔的字符串作为execute_js
.
例子:
Python端
pi = 8
rho = 10
arg_in = f"{pi} {rho}" # for older versions of python you can use "{pi} {rho}".format(pi=pi, rho=rho)
response = execute_js('file.js', arg_in)
js端
var pi = process.argv[2],
rho = process.argv[3];
console.log(pi, rho)
您可以传递任意数量的参数,使用列表和循环进行调整,您可以传递动态数量的参数。