我正在尝试在 java 中运行 python 脚本,但我遇到了一些麻烦。 我正在使用下面的命令执行 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");
关于java - 在 java 代码 (runtime.exec) 中调用 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7449395/