首页 > 其他分享 >2024.1.15-每日进度笔记

2024.1.15-每日进度笔记

时间:2024-01-15 17:15:46浏览次数:38  
标签:2024.1 15 String java Python res 笔记 new line

今天,我尝试在java中对昨天的python脚本进行调用,并尝试对输出结果进行格式化。

 

参考:百度文心一言的回复。

 

package test0113;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class test0115 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String res = getScore("D:\\test0114.png", "题目123456", "5");
        System.out.println("返回结果:" + res);
    }

    public static String getScore(String input_path, String question, String total_score) {
        String res = "";
        String pythonPath = "D:\\softdata\\Anaconda_envs\\envs\\paddle_env\\python.exe"; // 指定Python解释器路径
        String scriptPath = "D:\\develop\\PycharmProjects\\paddle\\test4.py"; // 指定Python脚本路径
        String[] scriptArgs = { input_path, question, total_score }; // 指定Python脚本参数

        ProcessBuilder pb = new ProcessBuilder(pythonPath, scriptPath);
        // pb.redirectErrorStream(true); // 将标准输出和标准错误合并为同一流

        pb.command().addAll(Arrays.asList(scriptArgs));
        try {
            Process p = pb.start(); // 启动进程

            // 获取进程的标准输出流和标准错误流
            BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
            BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

            // 打印进程的标准输出流信息
            String line;
            while ((line = stdInput.readLine()) != null) {
                System.out.println("Standard Output of the Python script: " + line);
                line = line.replaceAll(" ", "");
                if (line.contains("分数")) {
                    res = res + line.split("分数(:|:)|分", 3)[1] + "-";
                }
                if (line.contains("评语")) {
                    res = res + line.split("评语(:|:)", 2)[1];
                }
            }
            stdInput.close();

            // 打印进程的标准错误流信息
            while ((line = stdError.readLine()) != null) {
                System.out.println("Standard Error of the Python script: " + line);
            }
            stdError.close();

            int exitCode = p.waitFor(); // 等待进程结束并获取退出码
            System.out.println("Python脚本执行完毕,退出码为:" + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
        return res;
    }
}

 

标签:2024.1,15,String,java,Python,res,笔记,new,line
From: https://www.cnblogs.com/zhangxutong/p/17965797

相关文章

  • 【计网笔记】互联网标准化工作
    互联网标准化工作互联网标准化组织:互联网协会1992年由于互联网不再归美国政府管辖,因此成立了一个国际性组织叫作互联网协会(InternetSociety,简称为ISOC)[W-ISOC],以便对互联网进行全面管理以及在世界范围内促进其发展和使用。ISOC下面有一个技术组织叫作互联网体系结构委员会I......
  • 云原生周刊:OpenTofu 宣布正式发布 | 2023.1.15
    开源项目推荐kubeauditkubeaudit是一个开源项目,旨在帮助用户对其Kubernetes集群进行常见安全控制的审计。该项目提供了工具和检查规则,可以帮助用户发现潜在的安全漏洞和配置问题。ChronosChronos是一款综合性开发人员工具,可监控通过RESTAPI或gRPC通信的容器化(Docker......
  • asymmetric loss学习笔记
    在看RAM++模型的时候,看到了用的损失函数是asymmetricloss,称为非对称损失。以二分类问题为例,正类别和负类别的损失权重可以不相等。这样设计的目的是使模型更关注于对某一类别的正确分类,尤其是当某一类别的错误分类可能带来更严重后果时。这个损失常常与focalloss一起做对比,"不......
  • 世微AP6315 dc-dc 单节充电2A同步锂电充电芯片
    概述是一款面向5V交流适配器的2A锂离子电池充电器。它是采用1.5MHz固定频率的同步降压型转换器,因此具有高达90%以上的充电效率,自身发热量极小。包括完整的充电终止电路、自动再充电和一个达?1%的4.2V预设充电电压,内部集成了防反灌保护、输出短路保护、芯片及电池温度保护等多种功能......
  • 世微AP6315 dc-dc 单节充电2A 锂电IC 同步锂电充电芯片
    概述是一款面向5V交流适配器的2A锂离子电池充电器。它是采用1.5MHz固定频率的同步降压型转换器,因此具有高达90%以上的充电效率,自身发热量极小。包括完整的充电终止电路、自动再充电和一个达?1%的4.2V预设充电电压,内部集成了防反灌保护、输出短路保护、芯片及电池温度保护等多种功......
  • c#学习笔记----------------------------协变和逆变
    协变和逆变协变和逆变能够实现数组类型、委托类型和泛型类型参数的隐式引用转换。协变保留分配兼容性,逆变则与之相反。协变以下代码演示支持协变与不支持协变的泛型和数组的区别//泛型委托publicdelegateTMyFuncA<T>();//不支持逆变与协变......
  • ICLR 2022: Anomaly Transformer论文阅读笔记(2) 深度解析代码
    AnomalyTransformer是一个由Transformer:AttentionIsAllYouNeed启发出的检测时间序列异常点的无监督学习算法。在这一篇我会深度解析论文算法以及代码的一一对应,让人更方便能读懂和使用源代码。阅读笔记前篇:ICLR2022:AnomalyTransformer论文阅读笔记+代码复现阅读前提......
  • 《程序员修炼之道:从小工到专家》第七第八章读书笔记
    第七章在项目开始之前第36节异想天开的需求追求完美:完美不是在无所需增加的情况下达到的,而是在没有冗余之时实现的。因此,我们应该避免收集过多需求,而是专注于深入挖掘需求,围绕核心功能不断打磨。与用户共同工作:挖掘需求需要与用户一同工作,以用户的思维方式思考问题。......
  • 独立开发者碎碎念 1115
    关于心态❤在巨大焦虑的心态下,人都来不及生病。我记忆中,高考前神经高度紧张,高考后一场大病如期而至。人啊,真复杂。心态啊,真正能做到面对任何事客观平常心的,有几个呢因此尽可能保持客观平常心面对,想到最糟糕的结局和处理方式吧关于目标......
  • 每日一题 2024-1-15 删除排序链表中的重复元素Ⅱ
    1.题目(中等)原题链接给定一个已排序的链表的头\(head\),删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。示例1:输入:head=[1,2,3,3,4,4,5]输出:[1,2,5]示例2:输入:head=[1,1,1,2,3]输出:[2,3]提示:链表中节点数目在范围\([0,300]\)......