【发布时间】:2017-12-19 07:07:10
【问题描述】:
我正在使用 python 子进程模块执行 cmd 命令。执行此 cmd 命令(例如,运行一些批处理文件、.exe 文件)正在打开新的命令提示符窗口。如何使用python读取新打开的cmd窗口的输出?
我正在使用以下代码来执行用户提供的命令:
process = subprocess.Popen(command, cwd = working_directory, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
我正在使用 process.communicate() 方法来读取输出。但是,它只允许我读取现有命令提示符窗口的输出。如果用户正在提供触发新命令提示符窗口的命令,那么如何读取该窗口的输出?
【问题讨论】:
-
到目前为止你尝试了什么?
-
@pankajmishra 我正在使用以下代码来执行使用提供的 cmd 命令。如果用户提供打开新命令窗口的命令,那么我正在寻找从新打开的命令窗口读取输出的解决方案。到目前为止,我只能读取现有 cmd 窗口的输出,而不能读取新打开的窗口。感谢您提前考虑。 :)
process = subprocess.Popen(command, cwd = working_directory, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) -
将此代码粘贴到您的问题中
-
看看我的回答,让我知道什么对你不起作用
标签: python-3.x subprocess