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