此例子传递的参数为两个URL,也可根据自己需求增加减少参数。因为是控制台调用Python所以python的第三方包也可用。需要自行修改python文件路径。
JAVA代码:
pythontest.java
import java.io.*;
public class pythontest {
public static void main(String[] args) {
try {
String url="https://www.baidu.com/";
String url2="https://www.qq.com/";
System.out.println("start;"+url);
String[] args1 = new String[] { "python", "c:\\Python27\\1.py", url,url2};
Process pr=Runtime.getRuntime().exec(args1);
BufferedReader in = new BufferedReader(new InputStreamReader(
pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("end");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Python代码:
1.py
#-*- coding:UTF-8 -*-
import sys
import webbrowser
def main(a,b):
sys.path.append("libs")
webbrowser.open(a)
print webbrowser.get()
webbrowser.open(b)
print webbrowser.get()
if __name__ == '__main__':
url = sys.argv[1]
url2 =sys.argv[2]
main(url,url2)