Runtime.getRuntime().exec()调用python含第三方库无返回值时,需要指定第三方库的位置,如下代码
package com.naihe.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) throws IOException{
Process proc;
try {
String[] aaa = new String[]{"D:\\Anaconda3\\python.exe", "D:\\Pythonworkspace\\Python_Class\\aaa.py"};
proc = Runtime.getRuntime().exec(aaa);// 执行py文件
//用输入输出流来截取结果
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream(), "GBK"));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
proc.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
import pymysql
host = '数据库地址'
user = '用户名'
password = '密码'
database = '库名'
# 连接database
conn = pymysql.connect(host=f'{host}', port=3306, user=f'{user}', password=f'{password}', database=f'{database}', charset='utf8')
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 查询数据的SQL语句
sql = "select * from student"
# 执行SQL语句
cursor.execute(sql)
# 获取所有数据
for i in range(cursor.execute(sql)):
print(cursor.fetchone())
# 获取单条查询数据
# ret = cursor.fetchone()
cursor.close()
conn.close()