本文整理了Java中org.python.util.PythonInterpreter.exec()
方法的一些代码示例,展示了PythonInterpreter.exec()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。PythonInterpreter.exec()
方法的具体详情如下:
包路径:org.python.util.PythonInterpreter
类名称:PythonInterpreter
方法名:exec
[英]Executes a string of Python source in the local namespace.
[中]在本地命名空间中执行一个Python源字符串。
代码示例来源:origin: apache/flink
/**
* Initializes the Jython interpreter and executes a python script.
*
* @param factory environment factory
* @param scriptDirectory the directory containing all required user python scripts
* @param scriptName the name of the main python script
* @param args Command line arguments that will be delivered to the executed python script
*/
public static void initAndExecPythonScript(PythonEnvironmentFactory factory, java.nio.file.Path scriptDirectory, String scriptName, String[] args) {
String[] fullArgs = new String[args.length + 1];
fullArgs[0] = scriptDirectory.resolve(scriptName).toString();
System.arraycopy(args, 0, fullArgs, 1, args.length);
PythonInterpreter pythonInterpreter = initPythonInterpreter(fullArgs, scriptDirectory.toUri().getPath(), scriptName);
pythonInterpreter.set("__flink_env_factory__", factory);
pythonInterpreter.exec(scriptName + ".main(__flink_env_factory__)");
}
代码示例来源:origin: stackoverflow.com
PythonInterpreter py = new PythonInterpreter();
String dataFolder,prepFolder;
py.execfile("filename.py");
py.set("df", dataFolder);
py.set("pf", prepFolder);
py.exec("prep = Preprocess(df, pf)");
//if the preprocess method does not return anything, you can do:
py.exec("prep.preprocess()");
//To get the return value in java, you can do:
SomeJavaClass retvalue = py.eval("prep.preprocess()").__tojava__(SomeJavaClass.class);
//To get and store the return type in the python local namespace:
py.exec("retValue = prep.preprocess()");
代码示例来源:origin: org.freemarker/freemarker
public void execute(String script, Map vars) throws BuildException {
PythonInterpreter pi = createInterpreter(vars);
pi.exec(script);
}
代码示例来源:origin: apache/flink
private static synchronized PythonInterpreter initPythonInterpreter(String[] args, String pythonPath, String scriptName) {
if (!jythonInitialized) {
// the java stack traces within the jython runtime aren't useful for users
System.getProperties().put("python.options.includeJavaStackInExceptions", "false");
PySystemState.initialize(System.getProperties(), new Properties(), args);
pythonInterpreter = new PythonInterpreter();
pythonInterpreter.getSystemState().path.add(0, pythonPath);
pythonInterpreter.setErr(System.err);
pythonInterpreter.setOut(System.out);
pythonInterpreter.exec("import " + scriptName);
jythonInitialized = true;
}
return pythonInterpreter;
}
}
代码示例来源:origin: Raysmond/SpringBlog
@Override
public String highlight(String content) {
PythonInterpreter interpreter = new PythonInterpreter();
// Set a variable with the content you want to work with
interpreter.set("code", content);
// Simple use Pygments as you would in Python
interpreter.exec("from pygments import highlight\n"
+ "from pygments.lexers import PythonLexer\n"
+ "from pygments.formatters import HtmlFormatter\n"
+ "\nresult = highlight(code, PythonLexer(), HtmlFormatter())");
return interpreter.get("result", String.class);
}
}
代码示例来源:origin: stackoverflow.com
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import sys\nsys.path.append('pathToModiles if they're not there by default')\nimport yourModule");
// execute a function that takes a string and returns a string
PyObject someFunc = interpreter.get("funcName");
PyObject result = someFunc.__call__(new PyString("Test!"));
String realResult = (String) result.__tojava__(String.class);
代码示例来源:origin: nodebox/nodebox
interpreter.set("parent", document.getActiveNetwork());
interpreter.set("node", document.getActiveNode());
interpreter.exec("from nodebox.node import *");
Exception pythonException = null;
try {
代码示例来源:origin: ggp-org/ggp-base
public static void main(String[] args) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("from scripts import *");
interpreter.exec("import external.JythonConsole.console");
interpreter.exec("external.JythonConsole.console.main(locals())");
}
}
代码示例来源:origin: stackoverflow.com
import org.python.util.PythonInterpreter;
public class PythonScript{
public static void main(String args[]){
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("days=('One','Two','Three','Four'); ");
interpreter.exec("print days[1];");
}
}
代码示例来源:origin: MarkusBernhardt/robotframework-selenium2library-java
@Override
protected PythonInterpreter initialValue() {
PythonInterpreter pythonInterpreter = new PythonInterpreter();
pythonInterpreter
.exec("from robot.libraries.BuiltIn import BuiltIn; from robot.running.context import EXECUTION_CONTEXTS; from robot.api import logger;");
return pythonInterpreter;
}
};
代码示例来源:origin: stackoverflow.com
import org.python.util.PythonInterpreter;
public class JythonTest {
public static void main(String[] args) {
PythonInterpreter interp = new PythonInterpreter();
interp.exec("if 2 > 1: print 'in if statement!'");
}
}
代码示例来源:origin: stackoverflow.com
PythonInterpreter jython = new PythonInterpreter();
jython.set("out", new PyString());
jython.exec("out = ''");
jython.exec("out += 'Test1\\n'");
jython.exec("out += 'Test2\\n'");
System.out.println(jython.get("out").toString());
代码示例来源:origin: org.python/jython
@Override
protected void setUp() throws Exception {
interp = new PythonInterpreter(new PyStringMap(), new PySystemState());
interp.exec("from java.io import Serializable");
interp.exec("class Test(Serializable): pass");
interp.exec("x = Test()");
}
代码示例来源:origin: NGDATA/lilyproject
public JythonLineMapper(String pythonCode, String recordMapperSymbol, Writer stderrWriter) {
interpreter = new PythonInterpreter();
interpreter.setErr(stderrWriter);
// TODO Should we (or can we) restrict what can be done here?
interpreter.exec(pythonCode);
mapperCallable = interpreter.get(recordMapperSymbol);
if (mapperCallable == null) {
throw new IllegalArgumentException("Symbol " + recordMapperSymbol + " cannot be found");
}
}
代码示例来源:origin: org.python/jython
public void testMod() {
interp.exec("c = b % a");
assertEquals(new PyLong(4000000000L), interp.get("c"));
}
}
代码示例来源:origin: org.python/jython
/**
* Test importing the _io module into the global namespace of {@link #interp}.
*/
@Test
public void moduleImport() {
interp.exec("import _io");
PyObject _io = interp.get("_io");
org.junit.Assert.assertNotNull(_io);
}
代码示例来源:origin: org.python/jython
public void testOr() {
interp.exec("c = a or b");
assertEquals(new PyBoolean(true), interp.get("c"));
a.setMutableValue(false);
interp.exec("c = a or b");
assertEquals(new PyBoolean(false), interp.get("c"));
}
}
代码示例来源:origin: org.python/jython
public void testAnd() {
interp.exec("c = a and b");
assertEquals(new PyBoolean(false), interp.get("c"));
b.setMutableValue(true);
interp.exec("c = a and b");
assertEquals(new PyBoolean(true), interp.get("c"));
}
代码示例来源:origin: org.python/jython
public void testAdd() {
interp.exec("c = a + b");
assertEquals(new PyFloat(30), interp.get("c"));
b.setMutableValue(18.0);
interp.exec("c = a + b");
assertEquals(new PyFloat(31), interp.get("c"));
}
代码示例来源:origin: org.jvnet.hudson.plugins/jython
public boolean perform(AbstractBuild<?,?> build, Launcher launcher, BuildListener listener) throws IOException, InterruptedException {
PySystemState sys = new PySystemState();
sys.setCurrentWorkingDir(build.getWorkspace().getRemote());
PythonInterpreter interp = new PythonInterpreter(null, sys);
interp.setOut(listener.getLogger());
interp.setErr(listener.getLogger());
interp.exec(this.getCommand());
interp.cleanup();
build.setResult(Result.SUCCESS);
return true;
}
}
内容来源于网络,如有侵权,请联系作者删除!