のおかげで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);')