python基础-subprocess模块
subprocess模块
功能:通过python 代码给操作系统终端发送命令
咱们主要了解下 subprocess
中的Popen的使用,以一个代码示例
# 需求:通过用户输入的cmd 命令,来获取cmd 终端返回的结果
# 导包
import subprocess
while True:
# 1.接收用户输入的终端(cmd)命令
str_cmd = input("请输入cmd命令:")
# 2.通过Popen 将用户的cmd 命令发送给本地操作系统的终端,返回一个子进程对象。格式为:Popen(cmd命令,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
cmd_obj = subprocess.Popen(str_cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
# 3.通过子进程对象,获取cmd 返回的结果(包含正确或错误的结果),结果是二进制的结果,需要decode解码显示
suc_res = cmd_obj.stdout.read().decode("gbk")
fail_res = cmd_obj.stderr.read().decode("gbk")
# 4.显示cmd 终端返回的结果
if suc_res:
print("正确的结果:")
print(suc_res)
if fail_res:
print("错误的结果:")
print(fail_res)