我正在尝试在java中运行python脚本,但我遇到了一些麻烦。 我正在使用命令bellow来执行我的java项目中名为python的文件夹中的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()
答案 0 :(得分:7)
python可执行文件很可能不在为子进程提供的路径中。尝试更改命令行以包含python可执行文件的完整路径,如
Process p = r.exec("cmd /c c:\\path\\to\\python python\\test.py");