使用python的subprocess模块,需要传递参数(数字3,然后按Enter键)后按Ctrl+D结束,
命令如下:
cmd = "xxx"
p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.communicate("3\n".encode())
p.stdin.write("EOF".encode())
p.stdin.close()
报错:
ValueError: write to closed file
如果直接将Ctrl+D在communicate中传递的话,不能运行,报错是CTRL+D乱码,识别不了
p.communicate("3\n\x04".encode())
报错如下:
该如何处理再传递参数后,再传递组合键的问题,谢谢。