2009-03-31 36 views
10

Làm cách nào để thực hiện việc này?Thực hiện các chương trình Java thông qua Python

+0

Trùng lặp: http://stackoverflow.com/questions/438594/how-to-call-java-objects-and-functions-from-cpython –

+0

Nó không hoàn toàn giống âm thanh trùng lặp - âm thanh giống như chúng muốn thực thi toàn bộ chương trình, không truy cập các chức năng bên trong một lớp Java. –

+0

@Andrew Hare: Câu trả lời được chấp nhận là "chạy một chương trình Java từ bên trong Python". –

Trả lời

9

Bạn có thể thực hiện bất kỳ điều gì bạn muốn từ Python bằng hàm os.system().

os.system (lệnh)
Thực hiện lệnh (một chuỗi) trong một subshell. Đây là được triển khai bằng cách gọi hệ thống chức năng Standard C và có cùng giới hạn . Các thay đổi đối với os.environ, sys.stdin, v.v. không được phản ánh trong môi trường của lệnh được thực thi .

Đối với quyền lực hơn và linh hoạt, bạn sẽ muốn nhìn vào subprocess mô-đun:

Các module subprocess cho phép bạn quy trình mới spawn, kết nối với đường ống đầu vào/đầu ra/lỗi của họ, và nhận được mã trả lại của họ.

+3

os.system không cần thiết gọi trình bao. subprocess module là cách để làm điều đó trong mọi trường hợp, không chỉ khi bạn muốn quyền lực/tính linh hoạt. – nosklo

5

Tất nhiên, Jython cho phép bạn sử dụng các lớp Java từ bên trong Python. Đó là một cách thay thế để xem xét nó cho phép tích hợp chặt chẽ hơn mã Java.

Các vấn đề liên quan