В этой статье описывается метод реализации Java для вызова Jython для выполнения файлов Python. Поделитесь этим для вашей ссылки, следующим образом:
Во время веб-разработки вы часто используете сторонние библиотеки в локальной среде в веб-среде. В этой статье объясняется, как Java выполняет файлы Python.
Говорят, что есть три метода, но на самом деле есть только два метода. Второй метод представлен ниже (Jython).
Метод 1
java.lang.runtime Runtime rt = runtime.getRuntime (); try {process proc = rt.exec ("python /tmp/test.py"); } catch (Exception e) {e.printstackTrace (); }Вот подконирование:
1. Runtime.getRuntime() может получить среду выполнения текущего JVM, что также является единственным способом в Java, чтобы получить среду выполнения.
2. Большинство других методов времени выполнения являются методами экземпляра, что означает, что метод getRuntime должен использоваться каждый раз, когда выполняется вызов времени выполнения.
3. Метод выхода во время выполнения - это метод выхода из текущего JVM, который, вероятно, единственный. Потому что я видел, что этот выход в системном классе фактически выходит из JVM, позвонив Runtime.exit() . Здесь я объясню общие правила Java для возвратной стоимости времени выполнения (также упомянутого позже). 0 представляет нормальный выход, а не 0 представляет ненормальный аборт. Это просто правило Java. В каждой операционной системе всегда будет некоторая незначительная путаница.
Второй тип (ключевая точка)
Вызов Jython API
Шаг 1: Добавьте зависимости
<!-https://mvnrepository.com/artifact/org.python/jython-> <dependency> <groupid> org.python </groupid> <artifactid> jython </artifactid> 2.7.0 </version> </vehing>
Шаг 2: Создайте новый тест.
Import org.python.util.pythoninterpreter; import java.util.properties;/** * Автор: встретить xioxing * Электронная почта: [email protected] * Дата: 17-3-21 * Время: 8:18. Pythoninterpreter (); Interpreter.exec ("days = ('mod', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun');"); Interpreter.exec ("Дни печати [1];"); interpreter.execfile ("/tmp/test.py"); Interpreter.exec ("print", созданный Tengxing на 2017.3 '"); }}
Шаг 3: запустить тест. Java
Тестирование началось в 9:40 вечера ... Tuethis test.pycreated от Tengxing на 2017.3!
Процесс закончился, выходите код 0
Напоминание может сообщить о следующем исключении:
Исключение в потоке "Main" Importerror: не может импортировать модуль сайта и его зависимости: без модуля с именем сайта
Определите, правильны ли следующие атрибуты:
Причина: python.import.site не инициализируется
решать:
открытый тест класса {public static void main (string [] args) {Properties props = new Properties (); props.put ("python.home", "Путь к папке LIB"); props.put ("python.console.encoding", "UTF-8"); props.put ("python.security.respectjavaaccessibility", "false"); props.put ("python.import.site", "false"); Свойства preprops = System.getProperties (); Pythoninterpreter.initialize (Preprops, Reps, New String [0]); Pythoninterpreter interpreter = new pythoninterpreter (); Interpreter.exec ("days = ('mod', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun');"); Interpreter.exec ("Дни печати [1];"); interpreter.execfile ("/tmp/test.py"); Interpreter.exec ("print", созданный Tengxing на 2017.3! '"); }}ОК ИДЕАЛЬНО
// Вызовите метод в Python и распечатайте результат pyfunction func = (pyfunction) interpreter.get ("adder", pyfunction.class); int a = 2010, b = 2; pyobject pyobj = func .__ Call __ (new Pyinteger (a), new Pyinteger (b)); System.out.ourt.println (anwseser = "anwseser =" anwseser = " +" anwseser = "anwseser =" anwseser = "anwseser =" anwseser = "anwseser =" anwseser = "anwseser (anwseser (a), new Pyinteger (b)); pyobj.tostring ());Справочная статья:
//www.vevb.com/article/137380.htm
//www.vevb.com/article/137385.htm
Приложение: jython.jar Нажмите здесь , чтобы загрузить этот сайт .
Для получения дополнительного контента, связанного с Java, читатели, заинтересованные в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Operation Dom Узел», «Краткое изложение Java File и Directory Commine» и «Советы по эксплуатации Java Cache»
Я надеюсь, что эта статья будет полезна для всех Java Programming.