Java调用Python
Java调用Python
因为大部分的工作都是用Python来进行开发,但遇到如果项目使用java代码来开发,所以就想到能不能利用java调用Python来实现。
package process_engine.build.test;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class CallPython {
	Process process;
	public void runPython() {
		try {
			// I have also test that we could try to fit a model, so the logic here is that we
			// try to call a process to run code with python engine and will wait until finished.
			process = Runtime.getRuntime().exec("C:\\Users\\Public\\anaconda\\python.exe C:\\new_sample.py");
			process.waitFor();
		} catch (Exception e) {
			// TODO: handle exception
			System.err.println("Get error to call Python code: " + e);
		}
		InputStream inputStream = process.getInputStream();
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
		String lineString;
		try {
			while ((lineString = bufferedReader.readLine()) != null) {
				System.out.println("get Python output: " + lineString);
			}
		} catch (Exception e) {
			// TODO: handle exception
			System.err.println("get python output error:" + e);
		}
	}
	
	public static void main(String[] args) {
		CallPython callPython = new CallPython();
		callPython.runPython();
	}
}
对应的Python代码
import numpy as np
print("Now is Python world")
data = np.random.randn(10)
print("Get sample data :", data)
运行结果:

本文来自博客园,作者:{guangqiang.lu},转载请注明原文链接:{https://www.cnblogs.com/guangqianglu/}
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号