我基本上是在尝试使用 Java 程序运行 Python 脚本。
这是我的 Java 代码片段:
String cmd = "python /home/k/Desktop/cc.py";
InputStream is = Runtime.getRuntime().exec(cmd).getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader buff = new BufferedReader (isr);
String line;
while((line = buff.readLine()) != null)
System.out.println(line);
这段代码在我运行它时打印出我想要的输出。但后来我修改了我的 cc.py 文件,通过添加额外的一行来接受 sys.argv 参数: print sys.argv[1]
现在,当我将 Java String cmd 更改为:
String[] cmd = new String[] {"python /home/k/Desktop/cc.py", "3"};
我得到错误:
Exception in thread "main" java.io.IOException: Cannot run program "python /home/k/Desktop/cc.py": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
at java.lang.Runtime.exec(Runtime.java:617)
at java.lang.Runtime.exec(Runtime.java:485)
at test.main(test.java:36)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
... 3 more
为什么这对我来说不适用于数组字符串?在进行了一些谷歌搜索之后,这对其他人有用。