2

感谢python-spidermonkey,使用 Python 中的 JavaScript 代码非常容易。

但是,不是使用 Python 从文件中读取 JS 代码并将字符串传递给 Spidermonkey,有没有办法从 Spidermonkey 中读取文件(或将文件路径作为参数传递,如在 Rhino 中)?

4

2 回答 2

2

作为库的 SpiderMonkey 允许通过JS_EvaluateScript使用非 NULLfilename参数调用 。

但是,调用的接口代码在方法内部,编码后的源代码仅作为字符串提供。python-spidermonkeyJS_EvaluateScripteval_script

您应该向 python-spidermonkey 开发人员解决您的问题,或者——如果可能的话,更好!——为一个eval_file_script方法提供一个补丁 :)

于 2009-06-29T12:07:18.017 回答
2

原来你可以绑定一个 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);')
于 2009-07-06T16:41:40.763 回答