我在 GraalVM 中运行 Java 以使用它来执行 python。
Context context = Context.create();
Value v = context.getPolyglotBindings();
v.putMember("arguments", arguments);
final Value result = context.eval("python", contentsOfMyScript);
System.out.println(result);
return jsResult;
问题是 python 代码应该如何接收“参数”。graal 文档指出,如果这是 JS,我会做这样的事情:
const args = Interop.import('arguments');
确实,这行得通。python等价物可能是:
import Interop
args = Interop.import('arguments')
def main():
return args
main()
这失败了,因为没有这样的模块。我找不到关于如何从外部语言层获取这些参数的文档,只有关于 pythongraal 的文档以及如何使用 python 传递给其他东西。