Artikel ini menjelaskan metode implementasi Java memanggil Jython untuk menjalankan file python. Bagikan untuk referensi Anda, sebagai berikut:
Selama pengembangan web, Anda sering menggunakan perpustakaan pihak ketiga di lingkungan lokal di lingkungan web. Artikel ini menjelaskan bagaimana Java mengeksekusi file Python.
Dikatakan secara online bahwa ada tiga metode, tetapi sebenarnya hanya ada dua metode. Metode kedua diperkenalkan di bawah ini (Jython).
Metode 1
java.lang.runtime runtime rt = runtime.getRuntime (); coba {proses proc = rt.exec ("python /tmp/test.py"); } catch (Exception e) {E.PrintStackTrace (); }Berikut ini adalah sub-konsepsi:
1. Runtime.getRuntime() dapat memperoleh lingkungan runtime dari JVM saat ini, yang juga merupakan satu -satunya cara di Java untuk mendapatkan lingkungan runtime.
2. Sebagian besar metode lain pada runtime adalah metode instan, yang berarti bahwa metode getRuntime harus digunakan setiap kali panggilan runtime dilakukan.
3. Metode keluar dalam runtime adalah metode untuk keluar dari JVM saat ini, yang mungkin satu -satunya. Karena saya melihat keluar itu di kelas sistem benar -benar keluar dari JVM dengan menelepon Runtime.exit() . Di sini saya akan menjelaskan aturan umum Java untuk nilai pengembalian runtime (juga disebutkan nanti). 0 mewakili keluar normal, dan non-0 mewakili aborsi abnormal. Ini hanya aturan Java. Akan selalu ada beberapa kebingungan kecil di setiap sistem operasi.
Tipe kedua (titik kunci)
Memanggil Jython API
Langkah 1: Tambahkan dependensi
<!-https://mvnrepository.com/artifact/org.python/jython-> <dependency> <Groupid> org.python </proveDid> <Artifactid> Jython </artifactid> <version> 2.7.0 </version> </versi>
Langkah 2: Buat tes tes baru.java
import org.python.util.PythonInterpreter;import java.util.Properties;/** * Author: Meet Xiaoxing* Email: [email protected] * Date: 17-3-21 * Time: 8:18 pm * Describe: jpython test */public class Test { public static void main(String []args){ PythonInterpreter interpreter = new Pythonintreter (); interpreter.exec ("days = ('mod', 'tue', 'wed', 'thu', 'fri', 'Sat', 'sun');"); interpreter.exec ("cetak hari [1];"); interpreter.execfile ("/tmp/test.py"); interpreter.exec ("cetak 'dibuat oleh tengxing pada 2017.3'"); }}
Langkah 3: Jalankan test.java
Pengujian dimulai pukul 21:40 ... Tuethis adalah test.pycreated dengan tengxing pada 2017.3!
Prosesnya telah berakhir, Kode Keluar 0
Pengingat dapat melaporkan pengecualian berikut:
Pengecualian di Thread "Utama" Importir: Tidak Dapat Mengimpor Modul Situs dan Ketergantungannya: Tidak Ada Situs Bernama Modul
Tentukan apakah atribut berikut benar:
Alasan: python.import.site tidak diinisialisasi
menyelesaikan:
tes kelas publik {public static void main (string [] args) {properties props = new properties (); props.put ("python.home", "jalur ke folder lib"); props.put ("python.console.encoding", "UTF-8"); props.put ("Python.security.RespectJavaAccessibility", "false"); props.put ("python.import.site", "false"); Properti preprops = system.getProperties (); Pythonintreter.initialize (preprops, alat peraga, string baru [0]); Pythoninterpreter Interpreter = Pythoninterpreter baru (); interpreter.exec ("days = ('mod', 'tue', 'wed', 'thu', 'fri', 'Sat', 'sun');"); interpreter.exec ("cetak hari [1];"); interpreter.execfile ("/tmp/test.py"); interpreter.exec ("cetak 'dibuat oleh tengxing pada 2017.3!'"); }}Ok sempurna
// Panggil metode dalam python dan cetak hasil pyfunction func = (pyfunction) interpreter.get ("adder", pyfunction.class); int a = 2010, b = 2; pyobject pyobj = func .__ call __ (pyinteger baru (a), pyinteger baru (b)); pyobj.tostring ());Artikel referensi:
//www.vevb.com/article/137380.htm
//www.vevb.com/article/137385.htm
Lampiran: jython.jar Klik di sini untuk mengunduh situs ini .
Untuk konten yang lebih terkait dengan Java, pembaca yang tertarik dengan situs ini dapat melihat topik: "Tutorial Struktur Data Java dan Algoritma", "Ringkasan Java Operation Dom Node Tips", "Ringkasan Tips Operasi Java File dan Direktori" dan "Ringkasan Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.