【问题标题】:open terminal window with python via java on different platforms在不同平台上通过java用python打开终端窗口
【发布时间】:2015-10-20 03:16:08
【问题描述】:

我尝试从一个 Java 应用程序打开一个终端/cmd 窗口,其中启动了一个 python 会话并且已经执行了来自 python 文件的一些代码。

对于 Mac,以下调用效果很好: 该文件(我们称之为 hello_world.py)可能看起来像这样

#! /usr/bin/python -i

print 'Hello, world!'

Java 调用如下:

Runtime.getRuntime().exec("open -a Terminal hello_world.py");

但我不知道如何在 Windows 上实现这一点。

我试过了:

Runtime.getRuntime().exec("cmd /k python hello_world.py");

但这只会执行脚本但不会打开 python 会话。 有可能吗?有人可以帮忙吗?

【问题讨论】:

  • 另请参阅When Runtime.exec() won't,了解有关正确创建和处理流程的许多好技巧。然后忽略它引用exec并使用ProcessBuilder创建进程。
  • 我会看看 - 谢谢

标签: java python terminal cross-platform runtime.exec


【解决方案1】:

我成功打了以下电话:

Runtime.getRuntime().exec(new String[] {
+                       "cmd",
+                       "/k",
+                       "start",
+                       "python",
+                       "-i",
+                       "hello_world.py"
+               });

【讨论】:

    【解决方案2】:

    试试这个,

    Runtime.getRuntime().exec("cmd start python hello_world.py");

    【讨论】:

    • 这确实会引发以下错误:java.io.IOException: Cannot run program "start": CreateProcess error=2, The system cannot find the file specified
    • 忘了在字符串开头提到cmd
    猜你喜欢
    • 2020-08-15
    • 2014-07-20
    • 2019-02-17
    • 2015-10-24
    • 1970-01-01
    • 2013-07-24
    • 2018-05-16
    • 2012-05-10
    • 2014-05-27
    相关资源
    最近更新 更多