欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

subprocess源碼解讀-創(chuàng)新互聯(lián)

subprocess模塊源碼介紹

創(chuàng)新互聯(lián)建站-專業(yè)網站定制、快速模板網站建設、高性價比個舊網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式個舊網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋個舊地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
  • 介紹

    subprocess生成新的進程,連接input/output管道,并獲取返回碼.

  • 常用函數(shù)
    subprocess.run() 執(zhí)行指定命令完成并返回一個包含執(zhí)行結果的CompletedProcess類的實例。.
    call()執(zhí)行指定的命令,返回命令執(zhí)行狀態(tài)
    check_call()執(zhí)行指定的命令,如果執(zhí)行成功則返回狀態(tài)碼,否則拋出異常
    check_output()執(zhí)行指定的命令,如果執(zhí)行狀態(tài)碼為0則返回命令執(zhí)行結果,否則拋出異常
    getoutput(cmd)接收字符串格式的命令,執(zhí)行命令并返回執(zhí)行結果
    getstatusoutput(cmd)執(zhí)行cmd命令,返回一個元組(命令執(zhí)行狀態(tài),命令執(zhí)行結果輸出)
  • 參數(shù)說明

    • args: 執(zhí)行的shell命令(字符串序列),shell參數(shù)值應該為True.
    • shell: shell為True,指定命令通過shell執(zhí)行.
    • check: 為True,且執(zhí)行命令的進程以非0狀態(tài)碼退出,則會拋出一個CalledProcessError的異常.
    • stdout,stderr:
    • run() 函數(shù)不捕獲命令執(zhí)行結果的正常和錯誤輸出.向獲取這些內容傳遞subprocess.PIPE,然后可以通過返回的CompletedProcess類實例的stdout和stderr屬性或捕獲相應的內容;
    • call()和check_call()函數(shù)返回的是命令執(zhí)行狀態(tài)碼.
    • check_output() 返回執(zhí)行命令結果.在結果中捕獲錯誤信息,可以執(zhí)行stderr=subprocess.STDOUT。
    • input: 該參數(shù)值是字節(jié)序列.
    • universal_newlines: 影響的是輸入與輸出的數(shù)據(jù)格式.
  • subprocess.CompletedProcess類介紹

    表示的是一個已結束進程的狀態(tài)信息.包含屬性如下:

    • args: 加載該進程的參數(shù).
    • returncode 子進程的退出狀態(tài)碼.
    • stdout: 從子進程捕獲的stdout.一個字節(jié)序列. 指定universal_newlines=True,則該屬性值是一個字符串.
    • stderr: 從子進程捕獲的stderr。值是一個字節(jié)序列或一個字符串。
    • check_returncode(): 如果returncode是一個非0值,則該方法會拋出一個CalledProcessError異常。.
  • 示例

    • run()
      
      In [2]: subprocess.run(["ls","-l"])
      -rw-r--r-- 1 liyuanjie liyuanjie 1350 12月 15 18:33 wireshark.md
      Out[2]: CompletedProcess(args=['ls', '-l'], returncode=0)

    In [3]: subprocess.run(["ls","-l","/dev/null"],stdout=subprocess.PIPE)
    Out[3]: CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0, stdout=b'
    crw-rw-rw- 1 root root 1, 3 12\xe6\x9c\x88 15 07:51 /dev/null\n')

    
    - call()

    In [4]: subprocess.call(['ls','-l'])
    In [5]: subprocess.call('ls -l',shell=True)

    In [6]: subprocess.call(['ls','-l'],stdout=subprocess.DEVNULL)
    Out[6]: 0

    In [7]: subprocess.call(['ls','-l','/services'])

    
    - check_call()

    In [9]: subprocess.check_call(['ls','-l'])
    In [10]: subprocess.check_call('ls -l',shell=True)

    In [11]: subprocess.check_call('ls -l /services',shell=True)

    
    - check_output()

    In [12]: ret = subprocess.check_output(['ls','-l'])
    In [13]: print(ret) 返回的是字節(jié)序列.

    In [14]: ret = subprocess.check_output(['ls','-l'],universal_newlines=True)
    In [15]: print(ret) 返回的是字符串.

    
    - getoutput()與getstatusoutput()

    In [16]: ret = subprocess.getoutput('ls -l')
    In [17]: print(ret)

    正確情況下:
    In [18]: retcode,output = subprocess.getstatusoutput('ls -l')
    In [19]: print(retcode)
    0
    In [20]: print(output)

    錯誤情況下:
    In [21]: retcode,output = subprocess.getstatusoutput('ls -l /test')
    In [22]: print(retcode)
    2

    In [23]: print(output)
    ls: cannot access '/test': No such file or directory

subprocess.Popen介紹

該類用于在一個新的進程中執(zhí)行一個子程序.由于subprocess模塊底層的進程創(chuàng)建和管理是由Popen類來處理的. 可以通過subprocess.Popen類提供的靈活的api來完成.

  • Popen的構造函數(shù)

    參數(shù)說明

    • args: shell命令.
    • bufsize: 指定緩存策略,0表示不緩沖,1表示行緩沖.負數(shù) 表示使用系統(tǒng)默認緩沖策略。
    • stdin,stdout,stderr: 分別表示程序標準輸入,輸出,錯誤句柄。
    • preexec_fn: 用于指定一個將在子進程運行之前被調用的可執(zhí)行對象.
    • close_fds: 值為True時,所有文件描述符都將在子進程執(zhí)行前關閉.
    • shell: 標識是否使用shell作為要執(zhí)行的程序.
    • cwd: 該函數(shù)會在執(zhí)行這個子進程之前改變當前工作目錄.
    • env: 用于指定子進程的環(huán)境變量.
    • universal_newlines為True時,則該文件對象的stdin,stdout和stderr將會作為文本流被打開,否則他們將會被作為二進制流被打開。
  • Popen類的實例可調用的方法

    Popen.poll() 檢查命令是否已經執(zhí)行結束.
    wait(timeout=None)等待子進程結束,返回狀態(tài)碼.
    communicate()與進程進行交互.
    send_signal(signal)發(fā)送指定的信號給這個子進程
    terminate()停止該子進程.
    kill()殺死該子進程.
  • 示例

    In [25]: p = subprocess.Popen('df -hT',stdout=subprocess.PIPE,shell=True)
    In [26]: print(p.stdout.read())
    
    In [2]: p1 = subprocess.Popen(['df','-Th'],stdout=subprocess.PIPE)
    In [3]: p2 = subprocess.Popen(['grep','dev'],stdin=p1.stdout,stdout=subprocess.PIPE)
    
    In [4]: out,err = p2.communicate()
    In [5]: print(out)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網站名稱:subprocess源碼解讀-創(chuàng)新互聯(lián)
當前URL:http://aaarwkj.com/article4/cocpoe.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站設計外貿網站建設、Google企業(yè)網站制作、網站營銷、軟件開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作
国产精品大白屁股视频| 国产饥渴熟女在线三区| av岛国不卡一区二区在线观看| 国产在线麻豆在拍91精品| 色哟哟视频免费在线观看| 中文字幕中文字幕久久不卡| av基地蜜桃蜜桃蜜桃| 欧美日韩黄片免费在线观看| 亚洲国产精品va在线香蕉| 2023国产精品一区| 亚洲青涩精品一区二区三区| 日韩高清av不卡一区二区三区| 欧美日本黄色一级视频| 精品在欧美一区二区少妇| 久久女同互慰一区二区三区| 91青青草原免费观看| 日韩精品福利片午夜免费| 日本在线精品在线观看| 18禁污污网站国产| 国产一区二区高清不卡| av天堂中文一区二区三区| 成年人在线免费观看国产| 未满18周岁禁止观看视频| 亚洲永久免费在线观看| 婷婷色中文字幕综合在线| 国产在线观看国产精品| 在线看黄色片播放器日韩| 自拍偷拍视频欧美第一页| 无遮挡动漫网站免费观看| 日韩精品极品在线视频观看免费| 丁香六月综合激情啪啪啪| 久久久久久成人亚洲| 国产原创av剧情愿望成真| 亚洲精品中文字幕一二三| 永久免费观看黄色录像| 亚洲一区二区三区色偷偷| 国产综合中文字幕不卡| 岛国av有码高清在线观看| 中文字幕人妻系列东京热| 91精品大片免费在线观看| 加勒比中文字幕日本道|