通过Python运行jar文件时如何接受许可协议

时间:2021-05-19 00:30:46

标签: python jar aws-glue

import subprocess
subprocess.run(['java','-jar','file.jar','*req_params_for_jar*'])

我正在使用 AWS 胶水在 python shell 中运行它。在运行 jar 文件时,它会在日志上打印接受许可协议,并一直等待交互式输入 Y 或 yes。我如何在上面的代码中传递这个?

1 个答案:

答案 0 :(得分:0)

尝试使用 subprocess.Popen 写入标准输入。 代码示例,从您的原始代码修改而来:

import subprocess
child = subprocess.Popen(['java', '-jar', 'file.jar','req_params_for_jar'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
child.stdin.write(b"Y")
print(child.communicate()[0])
child.stdin.close()

在线试用(grep 示例)here

相关问题