在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");
标签:runtime-exec,java,python,windows 来源: https://codeday.me/bug/20190729/1576750.html