通过java调用python脚本?

时间:2014-07-23 03:07:20

标签: java python shell processbuilder

我编写了一个代码来通过java调用python脚本,我已经使用Runtime.exec()和流程构建器尝试了它,但是我遇到了同样的问题。

我的代码是:

 Process pr=Runtime.getRuntime().exec("/usr/bin/python /home/abhijeet/delete.py");
 pr.waitFor();
 System.out.println("----- will read ouput now -----");

 BufferedReader br1=new BufferedReader(new InputStreamReader(pr.getInputStream()));
 String line;
 System.out.println("reached pont 1");

 while ((line=br1.readLine())!=null) 
 {
        System.out.println("inside while");
        System.out.println("line--"+line);
 }
 System.out.println("outside while");

我已经添加了许多函数来了解程序的流程,但是没有调用我的sop,可能的原因是,pr.waitfor()一直在等待。如果我删除了我的br1.readline()返回null和'到达点1'和'外面'同时打印消息。这意味着我的脚本没有被调用。有人能够弄明白我做错了吗?

我的python scipt代码是一个交互式代码,代码:

 #!/usr/bin/python
print 'Enter numbers'
a  = raw_input()
print 'a is',a
b  = raw_input()
print 'b is',b
c  = raw_input()
print 'c is',c
d  = raw_input()
print 'd is',d
e  = raw_input()
print 'e is',e
f  = raw_input()
print 'f is',f
g  = raw_input()
print 'g is',g
h  = raw_input()
print 'h is',h
print 'Sum is', int(a)+int(b)+int(c)+int(d)+int(e)+int(f)+int(g)+int(h)
print 'NOW IT COMPLETES'

0 个答案:

没有答案