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).
网友评论