美文网首页
调用脚本

调用脚本

作者: freshchen | 来源:发表于2018-11-19 17:20 被阅读6次

    1背景

    java虽然很强大,但是在处理一些特定的工作的时候,一些脚本语言还有有着得天独厚的优势,例如在linux服务器上进行一些列的部署操作,就需要调用shell脚本,亦或者我们需要进行一些科学计算,多方研究表明python有相应的第三方库可以完成需求,并且性能不差,此时我们便有必要调用python脚本。

    2举例

    我们可以使用java自带的Runtime.getRuntime().exec()方法进行调用,先来看一个调用python脚本的例子吧。

    public class InvokePyDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("please input a number: ");
            String num = scanner.next();
            Process process = null;
            /**
             * @参数1:“python”是要调用的脚本类型 
             * @参数2: “<dir>/<name>.py”是脚本具体的路径,根据需要使用相对路径或绝对路径
             * @参数3:这是给脚本传递的第一个参数,参数数量不限
             *        python可使用sys.argv[1]接受传入的第一个参数。以此类推
             */
            String[] args1 = new String[]{"python", "<dir>/<name>.py", num};
            try {
                process = Runtime.getRuntime().exec(args1);
                BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    System.out.println(line);
                }
                in.close();
                process.waitFor();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:调用脚本

          本文链接:https://www.haomeiwen.com/subject/hiuafqtx.html