这是一个非常不寻常的用例,在这种情况下,我必须使旧版系统正常工作。
我有Windows批处理脚本,如下所示,名为“ batch_test.bat”(仅示例):
@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期望的选择批处理脚本?我做了一些查找,但是找不到合适的答案。
谢谢。
答案 0 :(得分:1)
您可以使用subprocess.Popen
向进程提供输入:
from subprocess import Popen, PIPE
p = Popen('batch_test.bat', stdin=PIPE, stdout=PIPE)
output, _ = p.communicate(b'Y\n')