在java代码中调用python脚本(runtime.exec)

我试图在
java中运行python脚本,但我遇到了一些麻烦.

我正在使用命令bellow执行python脚本,该脚本位于我的java项目中名为python的文件夹中:

Runtime r = Runtime.getRuntime();
Process p = r.exec("cmd /c python python\\test.py");

脚本应该在文本文件和屏幕上写一些东西,但是在通过r.exec执行后,这不起作用(没有记录任何内容既不写在屏幕上,p.waitFor()返回1,这意味着它没有’工作正常),虽然在终端工作.我试图将python脚本放在项目的根文件夹中,以查看错误是否可能是由某些路径错误引起的,但我也没有成功.
我怎样才能让它发挥作用?

我的SO是Windows 7,我试图运行的python脚本(test.py)是:

import sys
import os

def main():
    f = open('python/test.txt','w')
    f.write('It works!')
    f.flush()
    f.close()
    print('It works!')

if __name__ == '__main__':
    main()

最佳答案 很可能python可执行文件不在给子进程的路径中.尝试更改命令行以包含python可执行文件的完整路径,如

Process p = r.exec("cmd /c c:\\path\\to\\python python\\test.py");
点赞