Hướng dẫn how do i run a python program in java? - làm cách nào để chạy chương trình python trong java?
Bạn có thể sử dụng java & nbsp; runtime.exec () & nbsp; để chạy tập lệnh python, như một ví dụ trước tiên tạo tệp script python bằng cách sử dụng & nbsp; shebang & nbsp; và sau đó đặt nó thực thi. #!/usr/bin/python import sys print ('Number of Arguments:', len(sys.argv), 'arguments.') print ('Argument List:', str(sys.argv)) print('This is Python Code') print('Executing Python') print('From Java') Nếu bạn lưu tệp trên dưới dạng script_python và sau đó đặt các quyền thực thi bằng cách sử dụng chmod 777 script_python Sau đó, bạn có thể gọi tập lệnh này từ java & nbsp; runtime.exec () & nbsp; như bên dưới import java.io.*; import java.nio.charset.StandardCharsets; public class ScriptPython { Process mProcess; public void runScript(){ Process process; try{ process = Runtime.getRuntime().exec(new String[]{"script_python","arg1","arg2"}); mProcess = process; }catch(Exception e) { System.out.println("Exception Raised" + e.toString()); } InputStream stdout = mProcess.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(stdout,StandardCharsets.UTF_8)); String line; try{ while((line = reader.readLine()) != null){ System.out.println("stdout: "+ line); } }catch(IOException e){ System.out.println("Exception in reading output"+ e.toString()); } } } class Solution { public static void main(String[] args){ ScriptPython scriptPython = new ScriptPython(); scriptPython.runScript(); } } Hy vọng điều này sẽ giúp và nếu không thì khuyến nghị tham gia lớp đào tạo Java của chúng tôi và tìm hiểu về Java một cách chi tiết. Cách tiếp cận Jython Java được cho là độc lập nền tảng và gọi một ứng dụng gốc (như Python) không độc lập với nền tảng. Có một phiên bản của Python (Jython) được viết bằng Java, cho phép chúng tôi nhúng Python vào các chương trình Java của chúng tôi. Như thường lệ, khi bạn sẽ sử dụng các thư viện bên ngoài, một trở ngại là biên dịch và chạy nó một cách chính xác, do đó chúng tôi trải qua quá trình xây dựng và điều hành một chương trình Java đơn giản với Jython. Chúng tôi bắt đầu bằng cách giữ tệp Jython Jar: https://www.jython.org/download.html Tôi đã sao chép Jython-2.5.3.Jar vào thư mục nơi chương trình Java của tôi sẽ đến. Sau đó, tôi đã nhập vào chương trình sau, làm giống như hai chương trình trước đó; Lấy hai số, gửi chúng đến Python, thêm chúng, sau đó Python đưa nó trở lại chương trình Java của chúng tôi, trong đó số được xuất ra vào màn hình:
Tôi gọi tệp này là "test3.java", lưu nó và thực hiện các mục sau để biên dịch nó:
Bước tiếp theo là cố gắng chạy nó, mà tôi làm theo cách sau:
Bây giờ, điều này cho phép chúng tôi sử dụng Python từ Java, theo cách độc lập của nền tảng. Nó là loại chậm. Tuy nhiên, nó thật tuyệt, đó là một thông dịch viên Python được viết bằng Java. Javabridge tải một lớp Java, org.cellprofiler.javabridge.cpython, có thể được sử dụng để thực thi mã python. Lớp 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 được nhúng trong Java. Lớp ________ 8 ________ 9 ()()¶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. ________ 10 ()()¶
chmod 777 script_python2 thực thi tập lệnh được truyền trong trình thông dịch Python. Thông dịch viên thêm các toàn cầu tích hợp vào toàn cầu được truyền vào, sau đó thực thi tập lệnh. Bản đồ tương tự có thể được sử dụng cho cả người dân địa phương và toàn cầu - chế độ này có vẻ quen thuộc hơn với những người thường xuyên tập lệnh trong Python và hy vọng tuyên bố chmod 777 script_python3 sẽ có hiệu ứng toàn cầu. Không có phương pháp chmod 777 script_python4. Bạn có thể truy xuất các giá trị bằng cách chuyển một đối tượng container như một mảng hoặc bản đồ là một trong những người dân địa phương và bạn có thể đặt các phần tử trong đối tượng với các giá trị được trả về. Example: class MyClass { static final CPython cpython = CPython(); public List________ 15 ()()¶ chmod 777 script_python6 là một từ đồng nghĩa với chmod 777 script_python7 là từ khóa Python.Sử dụng chmod 777 script_python6 thay cho chmod 777 script_python7 để gọi Python từ một cwrapper javabridge cho cpython. Các tài liệu tham khảo duy trì các giá trị PythonBạn có thể muốn duy trì các tham chiếu đến các đối tượng Python trên các tập lệnh.Các chức năng sau cho phép người gọi Java đề cập đến giá trị python (có thể là loại cơ sở hoặc một đối tượng) thông qua mã thông báo có thể được trao đổi cho giá trị bất cứ lúc nào.Mã Java chịu trách nhiệm quản lý thời gian tham chiếu.Thí dụ: 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) |