子进程,控制 cmd 输入

问题描述

我是 Python 和论坛的新手。

目前,我正在 PyCharm 中编写一个工具。 这个工具应该通过 UiAutomator 将我的智能手机导航到特定屏幕,然后按下一个按钮。按下这个按钮后,一个外部的 (.bat) 应该启动,根程序应该等到它完成。 通过智能手机屏幕的旅程效果很好。但是调用子进程很困难。 到此为止。

.bat 将启动一个 cmd.exe 并等待一些输入(主要是一个数字和按下 Enter 按钮) 我正在通过以下方式启动 .bat:

from subprocess import PIPE,Popen
import os
proc = Popen(["Test.bat"],stdin=PIPE,stdout=PIPE)

调用“proc”后,控制台上会显示正确的内容,该工具正在等待我的输入。 你能告诉我,我如何向控制台生成输入并通过回车确认?

搜索了许多网站,但没有找到合适的方法来提供帮助。 提前致谢,希望能帮到您。

编辑: 不幸的是,我不允许提供批处理文件,但我可以举一个输入请求的例子: .bat 的输入是这样请求的:

set /p choice=What do you want to do ('e' for exit)? 
IF /I "%choice%"=="1" goto fetchJobs
IF /I "%choice%"=="e" exit /b

输入完全由 .bat 处理。因此,除了提供“1”作为输入并等待进程结束之外,别无他法。

问题是,当批处理文件被称为子进程时,我不知道如何将此输入提供给请求。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)