从Python执行提示Javascript

时间:2012-06-03 12:03:34

标签: javascript python prompt

我正在使用PyV8从Python执行Javascript程序。我在执行“document.write”时遇到问题,但在此处找到了解决方案(使用模拟文档):Executing Javascript from Python

现在,我正面临另一个问题。我想从python执行一个提示命令javascript。结果的效果应该像一个简单的python raw_input。我举个例子:

var a, b, c, d;
prompt(a);
c = a
prompt(b);
c = c + b
d = a * b
document.write(c)
document.write(d)

使用PyV8,这个脚本的评估应评估第一行,在提示符处停止(a)要求我引入一个(DOS行命令)的值,然后恢复评估直到下一个提示,依此类推。 提前问。

2 个答案:

答案 0 :(得分:2)

将Python函数注入JavaScript上下文实际上非常简单 - 您可以通过JSContext.locals对象将该函数分配给局部变量:

ctx = PyV8.JSContext()
ctx.enter()
ctx.locals.prompt = raw_input

ctx.eval('var a = prompt("js> ");')

突然之间,您可以使用JavaScript中的Python函数,就像在Python中一样。

我通常会链接到文档,但PyV8 documentation似乎无法在任何具有正确MIME类型的地方使用。

答案 1 :(得分:1)

如果PyV8中没有prompt()函数,那么您可以像the example you cited中添加document对象一样添加它。