我已经在Python中实现了PyV8。我有一个示例javascript文件,如下所示:
main-js.js:
var numOne = 1+2;
var numTwo = 3+1;
var numThree = 5;如何使用PyV8将每个变量读入Python?到目前为止,我已经打开并读取了这个文件:ctxt.eval(ctxt.eval(“main-js.js”).read())。但我不知道如何从文件中获取每个变量。由于缺乏有关pyv8的文档,因此很难找到它
发布于 2013-05-17 03:31:25
JSContext对象有一个locals属性,它是上下文局部变量的字典。所以,你想要ctxt.locals["numOne"]等等。
另一种方法是:eval()有一个返回值,这是计算的最后一条语句的值。因此,您还可以执行一条JavaScript语句来计算您感兴趣的变量。在这种情况下,您只需创建一个Python数组,然后可以将其解压到所需的JavaScript变量中。您可以通过将语句附加到从文件中读取的代码中来实现这一点,或者只需对其执行单独的eval():
with PyV8.JSContext() as ctxt:
with open("main-js.js") as jsfile:
ctxt.eval(jsfile.read())
numOne, numTwo, numThree = ctxt.eval("[numOne, numTwo, numThree]")https://stackoverflow.com/questions/16595653
复制相似问题