我想制作一个程序,可以执行 jar 文件并打印 jar 文件在我的 python 程序中所做的任何事情,但不使用 windows 命令行,我在网上搜索了所有内容,但没有提出如何做到这一点。
我的程序是一个 Minecraft 服务器包装器,我希望它运行该server.jar
文件,而不是在 Windows 命令提示符中运行它,而是希望它在 Python shell 中运行。
有任何想法吗?
首先,您必须执行程序。一个方便的功能:
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。