How do I do this?
Asked
Active
Viewed 3.4k times
15
-
Duplicate: http://stackoverflow.com/questions/438594/how-to-call-java-objects-and-functions-from-cpython – S.Lott Mar 31 '09 at 20:27
-
It doesn't quite sound like a duplicate - it sounds more like they want to execute an entire program, not access functions inside a Java class. – Andrew Hare Mar 31 '09 at 20:29
-
@Andrew Hare: The accepted answer was "run a Java program from within Python". – S.Lott Mar 31 '09 at 21:09
-
@S.Lott: You are correct! I guess it is a bit of a duplicate. – Andrew Hare Mar 31 '09 at 23:57
2 Answers
12
You can execute anything you want from Python with the os.system()
function.
os.system(command)
Execute the command (a string) in a subshell. This is implemented by calling the Standard C function system, and has the same limitations. Changes to os.environ, sys.stdin, etc. are not reflected in the environment of the executed command.
For more power and flexibility you will want to look at the subprocess
module:
The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes.

Andrew Hare
- 344,730
- 71
- 640
- 635
-
4os.system unnecessarily invokes the shell. subprocess module is the way to do it in all cases, not just when you want power/flexibility. – nosklo Apr 01 '09 at 11:24
5
Of course, Jython allows you to use Java classes from within Python. It's an alternate way of looking at it that would allow much tighter integration of the Java code.

Fortyrunner
- 12,702
- 4
- 31
- 54