【发布时间】:2021-11-03 23:13:00
【问题描述】:
我正在尝试运行以下代码
process = subprocess.Popen(args=cmd, shell=True, stdout=subprocess.PIPE)
while process.poll() is None:
stdoutput = process.stdout.readline()
print(stdoutput.decode())
if '(Y/N)' in stdoutput.decode():
process.communicate(input=b'Y\n')
此 cmd 参数运行几分钟后会提示确认,但 process.communicate 不起作用,process.stdin.write() 也不起作用
当提示确认时,如何将输入字符串“Y”发送到正在运行的进程
【问题讨论】:
-
您能分享一下您正在执行的
cmd的值是多少吗? -
它是一个自定义编写的 exe,带有一些命令行参数,几分钟后要求确认,然后继续执行
标签: python subprocess pipe stdin