感谢python-spidermonkey
,使用 Python 中的 JavaScript 代码非常容易。
但是,不是使用 Python 从文件中读取 JS 代码并将字符串传递给 Spidermonkey,有没有办法从 Spidermonkey 中读取文件(或将文件路径作为参数传递,如在 Rhino 中)?
感谢python-spidermonkey
,使用 Python 中的 JavaScript 代码非常容易。
但是,不是使用 Python 从文件中读取 JS 代码并将字符串传递给 Spidermonkey,有没有办法从 Spidermonkey 中读取文件(或将文件路径作为参数传递,如在 Rhino 中)?
作为库的 SpiderMonkey 允许通过JS_EvaluateScript
使用非 NULLfilename
参数调用 。
但是,调用的接口代码仅在方法内部,编码后的源代码仅作为字符串提供。python-spidermonkey
JS_EvaluateScript
eval_script
您应该向 python-spidermonkey 开发人员解决您的问题,或者——如果可能的话,更好!——为一个eval_file_script
方法提供一个补丁 :)
原来你可以绑定一个 Python 函数并在 Spidermonkey 中使用它:http: //davisp.lighthouseapp.com/projects/26898/tickets/23-support-for-file-io-js_evaluatescript
import spidermonkey
def loadfile(fname):
return open(fname).read()
rt = spidermonkey.Runtime()
cx = rt.new_context()
cx.add_global("loadfile", loadfile)
ret = cx.execute('var contents = loadfile("foo.js"); eval(contents);')