• 使用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指令,原窗口不会关闭。 

  • 相关阅读:
    关于codeblocks插件(持续更新)
    自定义gvim配色方案qiucz.vim的源码
    mark it
    poj 1032
    poj 1028
    最小公倍数是lcm
    problems
    hdu 1067
    某些题的做法。。。
    突然明白了什么
  • 原文地址:https://www.cnblogs.com/fclbky/p/6100351.html
Copyright © 2020-2023  润新知