我编写了一个代码来通过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'