python实时获取cmd输出
时间: 2023-10-02 14:07:51 浏览: 130
可以使用Python的`subprocess`模块实现实时获取cmd输出。具体步骤如下:
1. 导入`subprocess`模块:
```python
import subprocess
```
2. 创建子进程:
```python
process = subprocess.Popen(['cmd', '/c', 'command'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
```
其中,`command`是要执行的命令,`stdout`和`stderr`参数用于指定子进程的标准输出和标准错误输出。
3. 循环读取输出:
```python
while True:
output = process.stdout.readline()
if output == '' and process.poll() is not None:
break
if output:
print(output.strip())
```
这里使用`readline()`方法读取子进程的标准输出,当读取到空字符串时,表示子进程已经结束,退出循环。否则,打印输出内容。
完整代码示例:
```python
import subprocess
process = subprocess.Popen(['cmd', '/c', 'ping www.baidu.com'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while True:
output = process.stdout.readline()
if output == '' and process.poll() is not None:
break
if output:
print(output.strip())
while True:
err = process.stderr.readline()
if err == '' and process.poll() is not None:
break
if err:
print(err.strip())
```
上述代码将实时获取ping命令的输出,并分别打印标准输出和标准错误输出。
阅读全文
相关推荐














