本文實例講述了Python實現(xiàn)處理管道的方法。分享給大家供大家參考。具體分析如下:
Linux下的可以施展的最炫的魔法是什么?相信不同的人說法不同,但是如果沒有管道,那么恐怕在絢麗魔法的都會失去魔力
這里就介紹怎么使用Python來處理這些管道
管道調(diào)用子程序
我們想在程序中使用一個子程序,但是需要動態(tài)的傳遞參數(shù)(這里說的動態(tài),是指根據(jù)上次子程序輸入的結(jié)果來決定這次輸入什么),怎么辦呢,不用慌,有subprocess!
下文我先介紹一個例子代碼,以及他的輸出結(jié)果!
#!/usr/bin/pythonfrom 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é)果是:
line0line1line2line3line4line5line6line7line8line9
希望本文所述對大家的Python程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選