【发布时间】:2018-08-01 12:04:48
【问题描述】:
这是一个相当不寻常的用例,我必须让遗留系统工作。
我有如下名为“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 期望的选择批处理脚本?我查了一下,但找不到合适的答案。
谢谢。
【问题讨论】:
-
如果您阅读
os.system的文档:“subprocess模块提供了更强大的功能……使用该模块比使用此功能更可取……”如果您想控制程序的标准输入,或捕获其标准输出,或在不使用 shell 或其他任何东西的情况下安全运行它,使用subprocess,而不是os.system。 -
请注意,从该段链接到的文档Replacing Older Functions with the
subprocessModule 包含将输入输入其他程序的示例,这正是您无法找到的。 -
请注意,
echo "some text"在输出中包含引号...
标签: python batch-file