本文整理了Java中org.python.util.PythonInterpreter.getLocals()
方法的一些代码示例,展示了PythonInterpreter.getLocals()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。PythonInterpreter.getLocals()
方法的具体详情如下:
包路径:org.python.util.PythonInterpreter
类名称:PythonInterpreter
方法名:getLocals
暂无
代码示例来源:origin: nodebox/nodebox
public ImmutableMap<String, Function> call() throws Exception {
// This creates a dependency between function and the client.
// However, we need to know the load paths before we can do anything, so this is necessary.
PythonUtils.initializePython();
Py.getSystemState().path.append(new PyString(file.getParentFile().getCanonicalPath()));
PythonInterpreter interpreter = new PythonInterpreter();
try {
interpreter.execfile(file.getCanonicalPath());
} catch (IOException e) {
throw new LoadException(file, e);
} catch (PyException e) {
throw new LoadException(file, e);
}
PyStringMap map = (PyStringMap) interpreter.getLocals();
ImmutableMap.Builder<String, Function> builder = ImmutableMap.builder();
for (Object key : map.keys()) {
Object o = map.get(Py.java2py(key));
if (o instanceof PyFunction) {
String name = (String) key;
Function f = new PythonFunction(name, (PyFunction) o);
builder.put(name, f);
}
}
return builder.build();
}
});
代码示例来源:origin: usc-isi-i2/Web-Karma
private void resetRuntimeLocal() {
for (String key : localKeys) {
try {
this.interpreter.getLocals().__delitem__(key);
} catch (Exception e) {
//Key is missing, do nothing
}
}
}
代码示例来源:origin: org.python/jython
/**
* Sets a variable in the local namespace.
*
* @param name the name of the variable
* @param value the Python object to set the variable to
*/
public void set(String name, PyObject value) {
getLocals().__setitem__(name.intern(), value);
}
代码示例来源:origin: org.python/jython
/**
* Returns the value of a variable in the local namespace.
*
* @param name the name of the variable
* @return the value of the variable, or null if that name isn't assigned
*/
public PyObject get(String name) {
return getLocals().__finditem__(name.intern());
}
代码示例来源:origin: org.python/jython
/**
* Sets a variable in the local namespace.
*
* @param name the name of the variable
* @param value the object to set the variable to (as converted to an appropriate Python object)
*/
public void set(String name, Object value) {
getLocals().__setitem__(name.intern(), Py.java2py(value));
}
代码示例来源:origin: org.apache.apex/malhar-contrib
@Override
public Map<String, Object> getBindings()
{
Map<String, Object> bindings = new HashMap<String, Object>();
PyStringMap keyValueMap = (PyStringMap)interp.getLocals();
PyIterator keyValueSet = (PyIterator)keyValueMap.iteritems();
for (Object temp : keyValueSet) {
PyTuple tempEntry = (PyTuple)temp;
Iterator<PyObject> iter = tempEntry.iterator();
bindings.put((String)iter.next().__tojava__(String.class), iter.next());
}
return bindings;
}
代码示例来源:origin: apache/apex-malhar
@Override
public Map<String, Object> getBindings()
{
Map<String, Object> bindings = new HashMap<String, Object>();
PyStringMap keyValueMap = (PyStringMap)interp.getLocals();
PyIterator keyValueSet = (PyIterator)keyValueMap.iteritems();
for (Object temp : keyValueSet) {
PyTuple tempEntry = (PyTuple)temp;
Iterator<PyObject> iter = tempEntry.iterator();
bindings.put((String)iter.next().__tojava__(String.class), iter.next());
}
return bindings;
}
代码示例来源:origin: CloudSlang/score
private Map<String, Serializable> getPythonLocals() {
Map<String, Serializable> result = new HashMap<>();
if(interpreter.getLocals() != null) {
for (PyObject pyObject : interpreter.getLocals().asIterable()) {
String key = pyObject.asString();
PyObject value = interpreter.get(key);
if (keyIsExcluded(key, value)) {
continue;
}
result.put(key, value);
}
}
return result;
}
代码示例来源:origin: io.cloudslang/runtime-management-impl
private Map<String, Serializable> getPythonLocals() {
Map<String, Serializable> result = new HashMap<>();
if(interpreter.getLocals() != null) {
for (PyObject pyObject : interpreter.getLocals().asIterable()) {
String key = pyObject.asString();
PyObject value = interpreter.get(key);
if (keyIsExcluded(key, value)) {
continue;
}
result.put(key, value);
}
}
return result;
}
代码示例来源:origin: org.python/jython
/**
* Evaluates a Python code object and returns the result.
*/
public PyObject eval(PyObject code) {
setSystemState();
return __builtin__.eval(code, getLocals());
}
代码示例来源:origin: org.python/jython
public <T> T getInterface(Class<T> clazz) {
return getInterface(new PyModule("__jsr223__", interp.getLocals()), clazz);
}
代码示例来源:origin: usc-isi-i2/Web-Karma
private boolean evaluatePythonExpression(Row r, PyCode code, PythonInterpreter interpreter) {
evalColumns.clear();
try {
ArrayList<Node> nodes = new ArrayList<>(r.getNodes());
Node node = nodes.get(0);
interpreter.getLocals().__setitem__("nodeid", new PyString(node.getId()));
PyObject output = interpreter.eval(code);
return PythonTransformationHelper.getPyObjectValueAsBoolean(output);
}catch(Exception e) {
return onError;
}
}
代码示例来源:origin: org.python/jython
/**
* Executes a file of Python source in the local namespace.
*/
public void execfile(String filename) {
PyObject locals = getLocals();
setSystemState();
__builtin__.execfile_flags(filename, locals, locals, cflags);
Py.flushLine();
}
代码示例来源:origin: org.python/jython
/**
* Evaluates a string as a Python expression and returns the result.
*/
public PyObject eval(String s) {
setSystemState();
return __builtin__.eval(new PyString(s), getLocals());
}
代码示例来源:origin: org.python/jython
/**
* Executes a Python code object in the local namespace.
*/
public void exec(PyObject code) {
setSystemState();
Py.exec(code, getLocals(), null);
Py.flushLine();
}
代码示例来源:origin: io.cloudslang/runtime-management-impl
private PythonExecutionResult exec(String script) {
interpreter.exec(script);
Iterator<PyObject> localsIterator = interpreter.getLocals().asIterable().iterator();
Map<String, Serializable> returnValue = new HashMap<>();
while (localsIterator.hasNext()) {
String key = localsIterator.next().asString();
PyObject value = interpreter.get(key);
if (keyIsExcluded(key, value)) {
continue;
}
Serializable javaValue = resolveJythonObjectToJavaExec(value, key);
returnValue.put(key, javaValue);
}
return new PythonExecutionResult(returnValue);
}
代码示例来源:origin: CloudSlang/score
private PythonExecutionResult exec(String script) {
interpreter.exec(script);
Iterator<PyObject> localsIterator = interpreter.getLocals().asIterable().iterator();
Map<String, Serializable> returnValue = new HashMap<>();
while (localsIterator.hasNext()) {
String key = localsIterator.next().asString();
PyObject value = interpreter.get(key);
if (keyIsExcluded(key, value)) {
continue;
}
Serializable javaValue = resolveJythonObjectToJavaExec(value, key);
returnValue.put(key, javaValue);
}
return new PythonExecutionResult(returnValue);
}
代码示例来源:origin: co.cask.hydrator/core-plugins
@Override
public void transform(StructuredRecord input, final Emitter<StructuredRecord> emitter) {
try {
Emitter<Map> pythonEmitter = new PythonEmitter(emitter, schema == null ? input.getSchema() : schema);
interpreter.set(INPUT_STRUCTURED_RECORD_VARIABLE_NAME, encode(input, input.getSchema()));
interpreter.set(EMITTER_VARIABLE_NAME, pythonEmitter);
Py.runCode(compiledScript, interpreter.getLocals(), interpreter.getLocals());
} catch (PyException e) {
// We put the stack trace as the exception message, because otherwise the information from PyException is lost.
// PyException only exposes the actual cause (Python stack trace) if printStackTrace() is called on it.
throw new IllegalArgumentException("Could not transform input.\n" + getStackTrace(e));
}
}
代码示例来源:origin: org.python/jython
/**
* Executes a string of Python source in the local namespace.
*/
public void exec(String s) {
setSystemState();
Py.exec(Py.compile_flags(s, "<string>", CompileMode.exec, cflags), getLocals(), null);
Py.flushLine();
}
代码示例来源:origin: org.python/jython
public void execfile(java.io.InputStream s, String name) {
setSystemState();
Py.runCode(Py.compile_flags(s, name, CompileMode.exec, cflags), null, getLocals());
Py.flushLine();
}
内容来源于网络,如有侵权,请联系作者删除!