subprocess 入门demo

1.原理

subprocess:中文意思是子进程。通过popen创建子进程,通过为PIPE主进程和子进程提供数据交换。

PIPE管道:介绍

https://blog.csdn.net/skyroben/article/details/71513385

2.popen参数介绍

args:子进程运行的命令,必须要是string类型的。

stdout,stderr,stdin,标准的数据传输。一般是将PIPE赋值给这三个参数。

datastdout,datastderr = communicate()返回子进程的标准输出,标准错误输出,阻塞主进程,直到子进程执行完成。

3.调用cmd 运行 ping www.baidu.com命令

import  subpocess

cmd = “ping www.baidu.com”"

ret = subprocess.popen(cmd,stdout =subprocess.PIPE )

实际应用中经常会发现阻塞。(阻塞表现什么样的呢?阻塞什么?)

stdoutdata = ret.communicate()[0]

实际上返回结果为b"xxxxxxx",因为返回结果为一个byte,decode()转换一下就可以了。

rsult = stdoutdata.decode("utf-8)

将返回结果由list转换为str类型

print(result).

你可能感兴趣的:(subprocess 入门demo)