这是一个相当不寻常的用例,我必须让遗留系统工作。
我有一个名为'batch_test.bat‘的Windows批处理脚本(仅供参考):
@echo OFF
set /P choice=Enter your choice:
if /I "%choice%" == "N" (
echo "Don't proceed"
)
if /I "%choice%" == "Y" (
echo "Proceed"
)
if /I "%choice%" == "C" (
echo "Cancel"
)
EXIT /B 0
我有以下python代码(示例):
import os
os.system('batch_test.bat')
问题是如何提供批处理脚本期望从Python获得的选择?我抬头看了看,但找不到合适的答案。
谢谢。
发布于 2018-08-01 09:25:16
您可以使用subprocess.Popen
为流程提供输入:
from subprocess import Popen, PIPE
p = Popen('batch_test.bat', stdin=PIPE, stdout=PIPE)
output, _ = p.communicate(b'Y\n')
https://stackoverflow.com/questions/51623873
复制相似问题