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 に答える