zoukankan      html  css  js  c++  java
  • 使用Runtime.getRuntime().exec()在java中调用python脚本

    举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本。假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用java调用控制台进程,即 Runtime.getRuntime().exec(),来运行这个python脚本。在windows下运行这个程序,假如是参考了一些百度来的被转载了无数遍的文章,很有可能运行结果是根本没有执行这个脚本。经过测试,在java中执行如下代码可以成功运行test.py文件:

    [java] view plain copy
     
    1. <pre name="code" class="java">Process proc = Runtime.getRuntime().exec("cmd /c python "+filepath+"test.py");    //filepath是test.py的地址。可以取相对地址,以项目所在地址为根目录  
    2.         proc.waitFor();  
    [java] view plain copy
     
    1.   

    在使用 cmd /c 时不会弹出python输出窗口,可以使用 cmd /k start 前缀以弹出一个新的控制台窗口并显示python输出

    cmd /c dir 是执行完dir命令后关闭命令窗口。 
    cmd /k dir 是执行完dir命令后不关闭命令窗口。

    cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。 
    cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。 

  • 相关阅读:
    服务器负载均衡的基本功能和实现原理
    二分查找
    TCP的运输连接管理
    linux常用命令
    XX公司在线笔试题编程题之一
    java对象转json格式
    Java多线程并发技术
    进程同步与通信
    单例模式的C++实现
    rsyncd启动脚本
  • 原文地址:https://www.cnblogs.com/fclbky/p/6100351.html
Copyright © 2011-2022 走看看