我想创建一个程序,可以执行jar文件并打印我的python程序中的jar文件正在做什么,但是没有使用windows命令行,我已经搜索了整个网络,但没有提出如何做此
我的程序是一个Minecraft服务器包装器,我希望它运行server.jar
文件而不是在Windows命令提示符下运行它我希望它在Python shell中运行。
有什么想法吗?
答案 0 :(得分:8)
首先,您必须执行该程序。这样做的一个方便的功能:
def run_command(command):
p = subprocess.Popen(command,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
return iter(p.stdout.readline, b'')
它将返回一个包含所有输出行的iterable 您可以使用
访问这些行并进行打印for output_line in run_command('java -jar jarfile.jar'):
print(output_line)
另外添加import subprocess
,run_command
使用subprocess。