【Python网络开发-第五章(一)subprocess调用系统命令】

25_第五章-subprocess调用系统命令

一、理论

1、subprocess模块

在这里插入图片描述

  • run方法测试

在这里插入图片描述

  • 测试结果
    在这里插入图片描述

  • 测试源码

# -*- coding:utf-8 -*-
import subprocess

def run_cmd(command):
    return_cmd = subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding='GB18030',shell=True,)

    #判断实例化属性是否有存在异常returncode
    if return_cmd.returncode == 0:
        print("success:")
        print(return_cmd)
    else:
        print("error:")
        print(return_cmd)

run_cmd(["dir","C:\\"]) #序列参数
run_cmd("exit 1") #字符串参数

二、subprocess调用系统命令的两种方法实操

1、简单法

  • 操作实例

在这里插入图片描述

  • 运行结果

在这里插入图片描述

2、函数法

  • 操作实例

在这里插入图片描述

  • 运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、源代码

import subprocess

#1、简单的写法
#开启一个子进程执行系统命令,args,encoding,shell三个参数
#shell:通过命令行执行
# runcmd = subprocess.run('dir C:\\Users',encoding='utf-8',shell = True)
#
# print(runcmd)

#2、定义一个函数调用系统的所有命令
def run_cmd(command):

    #初始化一个子进程执行系统命令
    #subprocess.PIPE 接受子进程的返回信息,一定需要解码,指定编码GBK
    return_cmd = subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding='GBK',shell=True)

    if return_cmd.returncode == 0:
        print("success:")
        print(return_cmd.stdout)
    else:
        print("命令执行错误:")
        print(return_cmd.stderr)

run_cmd('dir D:\\')
run_cmd('ipconfig')
run_cmd('exit 1')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值