zoukankan      html  css  js  c++  java
  • subprocess模块

    subprocess模块允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等。更多查看官网:https://docs.python.org/2/library/subprocess.html?highlight=subprocess#frequently-used-arguments

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import subprocess
    import subprocess
    '''
    sh-3.2# ls /Users/nick/Desktop |grep txt$
    mysql.txt
    tt.txt
    事物.txt
    '''

    res1 = subprocess.Popen('ls /Users/jieli/Desktop',
    shell=True,
    stdout=subprocess.PIPE)
    res = subprocess.Popen('grep txt$',
    shell=True,
    stdin=res1.stdout,
    stdout=subprocess.PIPE)

    print(res.stdout.read().decode('utf-8'))

    # 等同于上面,但是上面的优势在于,一个数据流可以和另外一个数据流交互,可以通过爬虫得到结果然后交给grep
    res1 = subprocess.Popen('ls /Users/jieli/Desktop |grep txt$',
    shell=True,
    stdout=subprocess.PIPE)
    print(res1.stdout.read().decode('utf-8'))

    # windows下:
    # dir | findstr 'test*'
    # dir | findstr 'txt$'
    res1 = subprocess.Popen(r'dirC:UsersAdministratorPycharmProjects est函数备课',
    shell=True,
    stdout=subprocess.PIPE)
    res = subprocess.Popen('findstr test*',
    shell=True,
    stdin=res1.stdout,
    stdout=subprocess.PIPE)

    # subprocess使用当前系统默认编码,得到结果为bytes类型,在windows下需要用gbk解码
    print(res.stdout.read().decode('gbk'))
  • 相关阅读:
    汇编指令(它不区分大小写)
    汇编
    LINUX命令
    LInux 终端命令
    回文串的Manacher算法
    hdu3336 Counting the string kmp的next数组的应用
    hdu2203kmp匹配
    hdu2087kmp模板练习
    hdu1171kmp果题
    hdu1686kmp果题
  • 原文地址:https://www.cnblogs.com/bubu99/p/14742260.html
Copyright © 2011-2022 走看看