Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 裸Python JS脚本_Javascript_Python_Naked Objects - Fatal编程技术网

Javascript 裸Python JS脚本

Javascript 裸Python JS脚本,javascript,python,naked-objects,Javascript,Python,Naked Objects,当使用裸python库来启动带有参数的jv脚本时,它总是给我带来相同的问题,一个未定义的参数。 这是python代码: from Naked.toolshed.shell import execute_js, muterun_js pi=str(8) response = execute_js('file.js', pi) 下面是file.js代码: console.log(pi); 正如您所看到的,这是一个非常简单的代码,因为我不知道如何在不声明参数的情况下发送参数。 我看到了类似的问题,

当使用裸python库来启动带有参数的jv脚本时,它总是给我带来相同的问题,一个未定义的参数。 这是python代码:

from Naked.toolshed.shell import execute_js, muterun_js
pi=str(8)
response = execute_js('file.js', pi)
下面是file.js代码:

console.log(pi);
正如您所看到的,这是一个非常简单的代码,因为我不知道如何在不声明参数的情况下发送参数。 我看到了类似的问题,但这里的主要问题是我不知道如何在javascript代码中声明一个变量,它来自文档中的“out”

execute_js()函数在Node.js脚本文件上运行execute()函数。不是将要执行的命令作为第一个参数传递,而是将Node.js脚本文件路径作为第一个参数传递,将任何其他命令参数作为第二个参数传递(可选)

因此,问题不在python中,而是在
Node.js
程序中

您可以找到有关如何在从控制台运行时向节点程序传递参数的说明

我认为您的问题的解决方案是按如下方式更改节点程序:

var pi = process.argv[2];
console.log(pi);
这里选择第三个参数,因为前两个分别是node.js路径和当前程序路径

更新:如果要传递多个变量,只需将所有变量作为空格分隔字符串传递,作为
execute\u 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)

您可以根据需要传递任意多个参数,通过列表和循环进行调整,您可以传递动态数量的参数。

效果很好,但我如何为两个变量传递参数呢?非常感谢!最后一个问题,当使用参数时,我使用一个链接,并在pyton上打印,然后使用js,但是当链接中出现a&时,js似乎会剪切它,有没有办法告诉js在找到a&时不要剪切代码?我想引号可以解决这个问题抱歉再次问你,但是当使用两个参数时,如果一个是“这是一个示例”为什么Js只接收第一个单词?您只传递值
'8'
,Js无法理解有一个称为“pi”的变量。