• (5)subprocess模块(执行系统命令)


    这个模块的主要用途就是执行系统命令

    什么是进程

    一个程序运行起来了就是一个进程

    但是程序本身不是进程,程序是一对代码而已

    所以进程就是一个抽象的概念,就是程序运行起来的一个过程

    进程和进程之间是相互独立的,互不影响

    如何理解子进程和父进程

    抽象的说一个QQ程序是一个父进程,word就是一个子进程,两个互不干预,当然这只是一个比喻

    subprocess模块的用途

    让父进程从管道内获取子进程运行的结果

    调用格式(这个模块的调用时一个固定的格式)

    import subprocess

    obj=subprocess.Popen(

       'tasklasdfist', #第一个参数是一个字符串形式的命令

       shell=True, #第二个参数是调用命令解释器(如调用cmd)

       stdout=subprocess.PIPE, #第三个参数stdout是指标准输出,输出的对象就是subrocess.PIPE(管道)

       stderr=subprocess.PIPE   #第四个参数stderr是指错误输出,输出的对象就是subrocess.PIPE(管道)

    )

    res=obj.stdout.read()  #从正确管道内读取结果 (obj是一个特殊的对象,这个特殊的对象下面可以调用一个srdout(对应的就是正确的管道)下调用一个read
    print(res.decode('gbk'))  #根据系统的编码进行解码读取
    res=obj.stderr.read() #这是从错误管道内获取结果
    print(res.decode('gbk'))

    PS:管道的概念,什么是管道,可以想象成生活中的管道,作用就是因为进程和进程之间是相互隔离的,无法传播数据,所以用管道可以把子进程和父进程关联起来

    PS:管道内读取的结果是以系统的编码格式返回的二进制字符,所以在打印时候需要根据系统的编码进行解码

  • 相关阅读:
    改造vant日期选择
    css3元素垂直居中
    npm综合
    (转)网页加水印方法
    Mac下IDEA自带MAVEN插件的全局环境配置
    隐藏注册控件窗口
    High performance optimization and acceleration for randomWalk, deepwalk, node2vec (Python)
    How to add conda env into jupyter notebook installed by pip
    The Power of WordNet and How to Use It in Python
    背单词app测评,2018年
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/10072837.html
Copyright © 2020-2023  润新知