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)

猜你喜欢

转载自www.cnblogs.com/xiaodan1040/p/11893324.html