python - 在循环期间与 cmd 提示符交互
问题描述
我正在尝试在 Python 脚本的循环中打开命令提示符,并在命令提示符中 1.) 键入更改目录和 2.) 键入命令。输入并运行命令后,我需要等待它完成,然后再转到脚本的下一部分,但还没有到那一步。
我有以下,希望能打开cmd和交流。
import subprocess
process = subprocess.Popen('cmd', stdin=subprocess.PIPE)
process.communicate(b'cd /target/directory')
process.communicate(b'run.bat')
我在正确的道路上,我怎样才能让脚本等到命令完成然后关闭?
*编辑:我在一个目录中有一个 run.bat 文件,并希望在其特定目录中的命令提示符下运行它。我试过自己运行 .bat 文件,但没有成功。我有一个 cmd 快捷方式,可以在与 run.bat 相同的目录中打开提示,输入“run.bat”当然可以。由于这是迄今为止唯一有效的方法,因此我尝试在 Python 脚本中复制这些步骤。
解决方案
要等待命令完成然后退出,您可以简单地添加它而不是第二次通信
process.communicate(b'run.bat && exit 0')
这将运行run.bat
文件,然后在完成后退出代码 0
推荐阅读
- android - 在 Play 商店中找不到更改 Android 应用隐私政策的选项
- typescript - 如何表示可以是多种类型的数据
- google-api - 只需发送权限即可使用 Gmail api 发送回复
- java - 包 XX 仅通过 Mac 终端不存在
- dataweave - 在 Dataweave Mule 中进行 Null 检查的更好方法
- c# - 在 C# 中附加到 Avro 文件
- pattern-matching - 为什么这个函数/构造函数参数变成一个自由隐式变量?
- java - 使用数组列表作为微调器的内容
- google-apps-script - 如何使过滤功能和每个循环不重复数据?
- javascript - 如何使用 d3 在多条形图中添加一个 div,以百分比形式显示两个条形值之间的差异?