Python實(shí)現(xiàn)處理管道的方法
本文實(shí)例講述了Python實(shí)現(xiàn)處理管道的方法。分享給大家供大家參考。具體分析如下:
Linux下的可以施展的最炫的魔法是什么?相信不同的人說法不同,但是如果沒有管道,那么恐怕在絢麗魔法的都會(huì)失去魔力
這里就介紹怎么使用Python來處理這些管道
管道調(diào)用子程序
我們想在程序中使用一個(gè)子程序,但是需要?jiǎng)討B(tài)的傳遞參數(shù)(這里說的動(dòng)態(tài),是指根據(jù)上次子程序輸入的結(jié)果來決定這次輸入什么),怎么辦呢,不用慌,有subprocess!
下文我先介紹一個(gè)例子代碼,以及他的輸出結(jié)果!
#!/usr/bin/python from subprocess import * # Subprocess management,可以做很多子進(jìn)程的文件,我們要引入這個(gè)文件 p = Popen(["cat", "-n"], bufsize=1024,stdin=PIPE, stdout=PIPE, close_fds=True) # 打開程序第一個(gè)參數(shù)是一個(gè)列表(程序名稱,參數(shù)) # 第二個(gè)參數(shù)是緩沖區(qū)大小 # stdin,stdout是設(shè)置是否打開這些管道,如果他的值是subprocess.PIPE的話, # 就會(huì)打開,同stdin一樣的還有stderr # close_fds設(shè)置為true(unix-only)所有的文件描述符除了(0,1,2)在子程序執(zhí)行前都會(huì)關(guān)閉 (fin, fout) = (p.stdin, p.stdout) for i in range(10): # 你會(huì)懂的^_^ fin.write("line" + str(i)) fin.write('\n') fin.flush() print fout.readline()
他的輸出結(jié)果是:
line0 line1 line2 line3 line4 line5 line6 line7 line8 line9
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于Python實(shí)現(xiàn)自制CV剪貼板功能
云桌面的win10不能調(diào)出剪貼板,對(duì)于CV工程師來說十分不方便,所以這篇文章主要介紹了如何使用Python實(shí)現(xiàn)一個(gè)CV剪貼板,提升常用語句的復(fù)制粘貼效率,感興趣的可以了解下2024-02-02Python Flask-Login實(shí)現(xiàn)用戶會(huì)話管理
這篇文章主要介紹了Python Flask-Login實(shí)現(xiàn)用戶會(huì)話管理過程,F(xiàn)lask-Login為Flask提供用戶會(huì)話管理。它處理登錄、注銷和長(zhǎng)時(shí)間記住用戶會(huì)話等常見任務(wù)2022-12-12Python數(shù)據(jù)分析:手把手教你用Pandas生成可視化圖表的教程
今天小編就為大家分享一篇Python數(shù)據(jù)分析:手把手教你用Pandas生成可視化圖表的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12python實(shí)現(xiàn)對(duì)指定輸入的字符串逆序輸出的6種方法
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)指定輸入的字符串逆序輸出的6種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-042023巨詳細(xì)的Python安裝庫(kù)教程(以pycharm和Anaconda安裝pygame為例)
這篇文章主要給大家介紹了巨詳細(xì)的Python安裝庫(kù)教程,文中以pycharm和Anaconda安裝pygame為例,通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01在Pycharm中將pyinstaller加入External Tools的方法
今天小編就為大家分享一篇在Pycharm中將pyinstaller加入External Tools的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python中delattr刪除對(duì)象方法的代碼分析
在本篇文章里小編給大家分享了一篇關(guān)于python中delattr刪除對(duì)象方法的代碼分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-12-12修復(fù) Django migration 時(shí)遇到的問題解決
本篇文章主要介紹了修復(fù) Django migration 時(shí)遇到的問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06