如何从Python执行JavaScript代码?

时间:2016-07-27 20:14:49

标签: javascript python python-3.x python-3.5

假设我在JavaScript文件中包含此代码:

var x = 10;
x = 10 - 5;
console.log(x);
function greet() {
  console.log("Hello World!");
}
greet()

我如何使用Python执行此代码以及"打印" xHello World!
这是一些伪代码,进一步解释了我的想法:

# 1. open the script
script = open("/path/to/js/files.js", "r")
# 2. get the script content
script_content = script.read()
# 3. close the script file
script.close()
# 4. execute the script content and "print" "x" and "Hello World!"
x = js.exec(script_content)

而且,预​​期结果如下所示:

>>> 5
>>> "Hello World!"

1 个答案:

答案 0 :(得分:10)

模块Naked就是这样做的。 pip install Naked(或者如果您愿意,可以从源代码安装)并导入库shell函数,如下所示:

from Naked.toolshed.shell import execute_js, muterun_js

response = muterun_js('file.js')
if response.exitcode == 0:
  print(response.stdout)
else:
  sys.stderr.write(response.stderr)

对于您的特定情况,将file.js作为

var x = 10;
x = 10 - 5;
console.log(x);
function greet() {
      console.log("Hello World!");
}
greet()

输出为'5\nHello World!\n',您可以根据需要进行解析。