加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 08:43:38 所属栏目:Java 来源:网络整理
导读:我试图在 java中运行python脚本,但我遇到了一些麻烦. 我正在使用命令bellow执行python脚本,该脚本位于我的java项目中名为python的文件夹中: Runtime r = Runtime.getRuntime();Process p = r.exec("cmd /c python pythontest.py"); 脚本应该在文本文件和
我试图在 java中运行python脚本,但我遇到了一些麻烦.
我正在使用命令bellow执行python脚本,该脚本位于我的java项目中名为python的文件夹中:

Runtime r = Runtime.getRuntime();
Process p = r.exec("cmd /c python pythontest.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:pathtopython pythontest.py");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读