zoukankan      html  css  js  c++  java
  • subprocess

    subprocess.call()  #执行命令,并返回执行状态,其中shell为False时,命令需要通过列表的形式传入,如果shell为True时,可直接传入命令。

    shell为Ture时不需要python解析,直接传给shell,所以后面可以直接加命令;shell为False时,表时需要python解析,所以可以加列表或元组,如果不是这两种类型,则报错。

    import subprocess
    
    a = subprocess.call('cd',shell=True)
    print(a)    #打印结果为0,说明前一个命令的返回值为0,成功则返回0,不成功则返回非0

    subprocess.Popen()

    在一些复杂场景中,我们需要将一个进程的执行输出作为另一个进程的输入。在另一些场景中,我们需要先进入到某个输入环境,然后再执行一系列的指令等。这个时候我们就需要使用到suprocess的Popen()方法。

    import subprocess
    obj = subprocess.Popen('cd',shell=True,stdout=subprocess.PIPE)   #将shell的执行结果输出到管道
    print(obj)    #<subprocess.Popen object at 0x0000000000FB4A20>
    a = obj.stdout.read()   #获取这个对象输出到管道中的内容
    print(a)    #b'C:\Users\Lowry\PycharmProjects\fullstack_s2\week7\day1
    ',结果为bytes类型

    要读出来要先输出到标准输出里,先存到管道PIPE,再给stdout;由于python和shell是两个进程不能直接通信,必须通过操作系统提供的管道,用管道可以把结果存到stdin stdout stderr

    参考:https://www.cnblogs.com/revo/p/7357170.html

    控制台乱码:https://blog.csdn.net/pfm685757/article/details/53330531

  • 相关阅读:
    prev()方法使用的注意点
    JS 获取图片的高度
    渐变色
    JS获取时间
    监听鼠标上下滚动事件
    几种常见的边框样式
    左侧导航背景颜色随机变化
    apache开启gzip压缩
    dedecms在linux上安装提示没权限解决办法
    阿里云centos7.3安装lamp环境
  • 原文地址:https://www.cnblogs.com/sq5288/p/8579915.html
Copyright © 2011-2022 走看看