【问题标题】:How can I execute JavaScript code from Python?如何从 Python 执行 JavaScript 代码?
【发布时间】:2016-12-02 00:29:31
【问题描述】:

假设我在 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!"

【问题讨论】:

  • 这可能会有所帮助:pypi.python.org/pypi/PyExecJS
  • @FailedUnitTest 谢谢你的链接。投反对票的人也可以解释为什么以及如何这太宽泛了吗?

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


【解决方案1】:

模块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',您可以根据需要对其进行解析。

【讨论】:

  • 感谢您的回答和帮助,不胜感激。
  • @Mango 很高兴我能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 2020-09-18
  • 2021-01-27
  • 2021-02-14
  • 2017-03-01
  • 1970-01-01
  • 2012-01-04
相关资源
最近更新 更多