关于Python在Java中使用exec的方法?

2024-09-30 08:29:25 发布

您现在位置:Python中文网/ 问答频道 /正文

Process process = Runtime.getRuntime().exec(String.format("python.exe test.py %s %d", "lightStatus", 1));
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String deviceCmd = reader.readLine();
System.out.println(deviceCmd);

测试.py:

import sys
import argparse

if __name__ == "__main__":
    para = sys.argv[1]
    value = sys.argv[2]
    message = '{"message": "change_lightStatus", "value": %d}'%int(value)
    print (message)

Java输出为什么为空?我想得到字符串


Tags: pyimportmessagenewstringvaluesysprocess
1条回答
网友
1楼 · 发布于 2024-09-30 08:29:25

你的程序没有错误。由于某些异常,它可能正在打印null。您是捕获异常还是至少打印它们?可能的原因是

  1. 找不到Python解释器(由于的系统路径不正确) 示例)
  2. 找不到文件test.py(请检查该文件是否位于同一位置) 运行Java虚拟机的目录)
  3. 其他平台相关原因

检查异常。他们可能会给你一些有价值的信息

相关问题 更多 >

    热门问题