第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

[python基礎(chǔ)] python與shell交互(一) 簡介

標(biāo)簽:
Python

目录:

一、概述
二、os包
三、subprocess包
四、对比
五、参考文章


一、概述

python与shell交互的方式有一下几种:
os.system()
os.popen()
commands包
subprocess包

二、os包

  1. os.system([cmd])

    1. 执行CMD,返回CMD的状态码(0 - 成功,其他 - 失败或被中断)

    2. 无管道

  2. os.popen([CMD], [mode =  'r' | 'w' ], buffersize)

    1. 开启子shell执行CMD,返回执行命令的输入流输出流文件对象。文件对象可读写,但只能进行读或写

    2. 底层通过os管道技术 实现

    3. 单向管道(只能读或写)

      import os#使用读通道f = os.popen("ls -l")f.read()#使用写管道#需要提前写好echo文件'''#echo.pywhile True:in = input()if in == "quit" or in == "exit":print("Bye")breakprint("[-] ", in)'''f = os.popen("python echo.py", "w")f.write("hello")

二、subprocess包

  1. subprocess 模块通过os 底层的 管道技术 实现

  2. 模块提出的目标是替代:os.systemos.spawn*

  3. 函数
    1. 功能:开启子进程运行命令

    2. 不阻塞父进程

    3. 支持双向管道

    4. 参数check为True时,可能会引发异常

    5. run函数是对Popen类封装后形成的简单函数

    1. 功能:获取子进程中执行命令的返回码和结果

    2. 返回值:(retcode, stdout)元组

    3. 不阻塞父进程

    4. 不支持管道

    5. 命令执行错误时,不引发异常

    1. 功能: 获取子进程中执行命令的输出结果

    2. 返回值:执行命令的结果

    3. 不阻塞父进程

    4. 不支持管道

    5. 命令执行错误时,不引发异常

    1. 功能: 检查在子进程中运行命令

    2. 返回值: 程序的运行结果。(如果命令返回码为0,返回运行结果;否则,直接抛出CalledProcessError异常)

    3. 不阻塞父进程

    4. 不支持stdout的管道

    5. 指定参数:stderr = STDOUT 可捕获错误信息

    6. 支持参数:input

    1. 功能:检查在子进程中运行命令的执行情况

    2. 返回值:0。(命令退出码为0时,返回0;否则,无返回值,直接引发CalledProcessError异常)

    3. 阻塞父进程,直到该函数结束

    4. 结束条件: 命令执行完成超时

    5. 不支持管道

    1. 功能:调用子进程运行命令

    2. 返回值:0 或 非0值

    3. 阻塞父进程,直到该函数结束

    4. 结束条件:命令执行完成或超时

    5. 用于代替 os.system()

    6. 不支持管道

    1. call(*popenargs, timeout= None, **kwargs)

    2. check_call(*popenargs, **kwargs)

    3. check_output(*popenargs, timeout=None, **kwargs)

    4. getoutput(cmd)

    5. getstatusoutput(cmd)

    6. run(args, *, stdin = None, input = None, stderr = None, shell = False, cwd = None, timeout = None, check = False, encoding = None, errors = None)

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消