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

我想在Java中运行一个python脚本,但我有一些麻烦。 我正在使用下面的命令来执行python脚本,该脚本位于我的java项目中名为python的文件夹中:

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

脚本应该在文本文件和屏幕上写一些东西,但是在执行完r.exec之后,这不起作用(没有任何东西被logging在屏幕上,而p.waitFor()返回1,这意味着它没有“吨工作正常),但terminal工作。 我试图将python脚本放在项目的根文件夹中,以查看错误是否可能是由一些path错误引起的,但是我也没有成功。 我怎样才能使这个工作?

我的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 /cc:\\path\\to\\python python\\test.py");