6

我想制作一个程序,可以执行 jar 文件并打印 jar 文件在我的 python 程序中所做的任何事情,但不使用 windows 命令行,我在网上搜索了所有内容,但没有提出如何做到这一点。

我的程序是一个 Minecraft 服务器包装器,我希望它运行该server.jar文件,而不是在 Windows 命令提示符中运行它,而是希望它在 Python shell 中运行。

有任何想法吗?

4

1 回答 1

9

首先,您必须执行程序。一个方便的功能:

def run_command(command):
    p = subprocess.Popen(command,
                     stdout=subprocess.PIPE,
                     stderr=subprocess.STDOUT)
    return iter(p.stdout.readline, b'')

它将返回一个包含所有输出行的迭代。
您可以使用

for output_line in run_command('java -jar jarfile.jar'):
    print(output_line)

也添加import subprocess,因为run_command使用subprocess

于 2013-06-23T04:30:55.917 回答