Python nhúng java
Javabridge tải một lớp Java, org. hồ sơ di động. javabridge. CPython, có thể được sử dụng để thực thi mã Python. Lớp này có thể được sử dụng trong mã Java được gọi từ trình thông dịch Python hoặc nó có thể được sử dụng trong Java để chạy Python nhúng trong Java Show org.cellprofiler.javascript. CPython ()Lớp CPython liên kết trình thông dịch Python với JVM và cung cấp khả năng thực thi các tập lệnh Python exec ()Tranh luận
Không có phương pháp Thí dụ class MyClass { static final CPython cpython = CPython(); public List execute ()import javabridge cpython = javabridge.JClassWrapper('org.cellprofiler.javabridge.CPython')() d = javabridge.JClassWrapper('java.util.Hashtable')() result = javabridge.JClassWrapper('java.util.ArrayList')() d.put("result", result) cpython.execute( 'import javabridge\n' 'x = { "foo":"bar"}\n' 'ref_id = javabridge.create_and_lock_jref(x)\n' 'javabridge.JWrapper(result).add(ref_id)', d, d) cpython.execute( 'import javabridge\n' 'ref_id = javabridge.to_string(javabridge.JWrapper(result).get(0))\n' 'assert javabridge.redeem_jref(ref_id)["foo"] == "bar"\n' 'javabridge.unlock_jref(ref_id)', d, d)0 là một từ đồng nghĩa với import javabridge cpython = javabridge.JClassWrapper('org.cellprofiler.javabridge.CPython')() d = javabridge.JClassWrapper('java.util.Hashtable')() result = javabridge.JClassWrapper('java.util.ArrayList')() d.put("result", result) cpython.execute( 'import javabridge\n' 'x = { "foo":"bar"}\n' 'ref_id = javabridge.create_and_lock_jref(x)\n' 'javabridge.JWrapper(result).add(ref_id)', d, d) cpython.execute( 'import javabridge\n' 'ref_id = javabridge.to_string(javabridge.JWrapper(result).get(0))\n' 'assert javabridge.redeem_jref(ref_id)["foo"] == "bar"\n' 'javabridge.unlock_jref(ref_id)', d, d)1 là một từ khóa Python. Sử dụng import javabridge cpython = javabridge.JClassWrapper('org.cellprofiler.javabridge.CPython')() d = javabridge.JClassWrapper('java.util.Hashtable')() result = javabridge.JClassWrapper('java.util.ArrayList')() d.put("result", result) cpython.execute( 'import javabridge\n' 'x = { "foo":"bar"}\n' 'ref_id = javabridge.create_and_lock_jref(x)\n' 'javabridge.JWrapper(result).add(ref_id)', d, d) cpython.execute( 'import javabridge\n' 'ref_id = javabridge.to_string(javabridge.JWrapper(result).get(0))\n' 'assert javabridge.redeem_jref(ref_id)["foo"] == "bar"\n' 'javabridge.unlock_jref(ref_id)', d, d)0 thay cho import javabridge cpython = javabridge.JClassWrapper('org.cellprofiler.javabridge.CPython')() d = javabridge.JClassWrapper('java.util.Hashtable')() result = javabridge.JClassWrapper('java.util.ArrayList')() d.put("result", result) cpython.execute( 'import javabridge\n' 'x = { "foo":"bar"}\n' 'ref_id = javabridge.create_and_lock_jref(x)\n' 'javabridge.JWrapper(result).add(ref_id)', d, d) cpython.execute( 'import javabridge\n' 'ref_id = javabridge.to_string(javabridge.JWrapper(result).get(0))\n' 'assert javabridge.redeem_jref(ref_id)["foo"] == "bar"\n' 'javabridge.unlock_jref(ref_id)', d, d)1 để gọi Python từ CWrapper javabridge cho CPython Duy trì các tham chiếu đến các giá trị PythonBạn có thể muốn duy trì các tham chiếu đến các đối tượng Python trong quá trình thực thi tập lệnh. Các hàm sau đây cho phép người gọi Java tham chiếu đến giá trị Python (có thể là loại cơ sở hoặc đối tượng) thông qua mã thông báo có thể được trao đổi lấy giá trị bất kỳ lúc nào. Mã Java chịu trách nhiệm quản lý thời gian tồn tại của tham chiếu. Thí dụ Bạn có thể nhúng Python vào Java không?Có thể sử dụng lớp này trong mã Java được gọi từ trình thông dịch Python hoặc có thể sử dụng lớp này trong Java để chạy Python nhúng trong Java . Lớp CPython liên kết trình thông dịch Python với JVM và cung cấp khả năng thực thi các tập lệnh Python.
Tôi có thể sử dụng thư viện Java trong Python không?Một trong những tính năng quan trọng nhất của Jython là khả năng nhập các lớp Java trong chương trình Python. Chúng ta có thể nhập bất kỳ gói hoặc lớp java nào trong Jython, giống như chúng ta làm trong chương trình Java . Ví dụ sau đây cho thấy cách java.
Jython được sử dụng để làm gì?Jython là một phiên bản của ngôn ngữ lập trình Python chạy trên nền tảng Java. Nó cho phép người dùng viết chương trình bằng Python và biên dịch chúng thành mã byte Java chạy trực tiếp trên Máy ảo Java hoặc JVM .
Làm cách nào để chạy tập lệnh Python bằng Java?Bắt đầu . Chèn một đối số Chuỗi sẽ được sử dụng bởi mã Python. Đối số tập lệnh Python của chúng tôi có tên user_name sẽ nhận giá trị của biến tên mã Java của chúng tôi Thực thi mã Python bằng phương thức exec() Nhận giá trị trả về từ Python trở lại Java |