【问题标题】:file I/O in SpidermonkeySpidermonkey 中的文件 I/O
【发布时间】:2010-11-06 13:14:03
【问题描述】:

感谢python-spidermonkey,在 Python 中使用 JavaScript 代码真的很容易。

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

【问题讨论】:

    标签: javascript python spidermonkey


    【解决方案1】:

    SpiderMonkey 作为一个库,通过使用非 NULL filename 参数调用 JS_EvaluateScript 来实现这一点。

    但是,python-spidermonkeyinterfacing code 仅在 eval_script 方法内调用 JS_EvaluateScript,该方法作为编码仅以字符串形式提供源。

    您应该向 python-spidermonkey 开发人员解决您的问题,或者 - 如果可能,最好提供一个补丁程序,例如 eval_file_script 方法:)

    【讨论】:

    • 谢谢,这很有帮助 - 我会调查一下!
    【解决方案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);')
    

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 1970-01-01
      • 2012-05-01
      • 2010-12-25
      • 2011-08-07
      • 2016-08-09
      • 1970-01-01
      • 2013-09-22
      • 2015-11-13
      相关资源
      最近更新 更多