【问题标题】:How to run an executable Java-File with Python?如何使用 Python 运行可执行的 Java 文件?
【发布时间】:2018-01-29 15:07:23
【问题描述】:

我有一个名为“program.exe”的外部程序,我想通过从 Python 调用来运行它。关键是,这个可执行文件是用 Java 构建的(我不是程序员)。
通过在文件资源管理器中单击此文件,它可以毫无问题地运行,但使用 Python 却失败了。

我试过了:

  • os.system
  • os.startfile(这是一台 Windows 机器)
  • subprocess.Popen

获取错误消息,例如:

  • FindClass 失败
  • 线程“主”java.lang.NoClassDefFoundError 中的异常

似乎这是一项简单的任务,但每次尝试都失败了。 给我一些提示?

【问题讨论】:

  • 请在每次尝试时分享您的 python 代码和确切的错误,否则它太宽泛了。

标签: java python executable


【解决方案1】:

找到了解决方案。 这与 .exe 文件是用 Java 编译的事实无关。错误的原因是缺少定义工作目录的参数“cwd”。

import subprocess
subprocess.Popen("C:\\Folder\\bin\\program.exe", cwd="C:\\Folder\\bin")

要从 Shell 导出答案,可以尝试以下操作:

import subprocess
ShellOutput=subprocess.Popen("C:\\Folder\\bin\\program.exe", cwd="C:\\Folder\\bin", stdout=subprocess.PIPE)
print(ShellOutput.communicate()[0].decode("utf-8"))

使用 Python 3.6 评估示例

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2020-09-13
    • 2014-06-03
    • 2020-06-22
    • 2018-12-31
    相关资源
    最近更新 更多