程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Python實現處理管道的方法

Python實現處理管道的方法

編輯:更多關於編程

       本文實例講述了Python實現處理管道的方法。分享給大家供大家參考。具體分析如下:

      Linux下的可以施展的最炫的魔法是什麼?相信不同的人說法不同,但是如果沒有管道,那麼恐怕在絢麗魔法的都會失去魔力

      這裡就介紹怎麼使用Python來處理這些管道

      管道調用子程序

      我們想在程序中使用一個子程序,但是需要動態的傳遞參數(這裡說的動態,是指根據上次子程序輸入的結果來決定這次輸入什麼),怎麼辦呢,不用慌,有subprocess!

      下文我先介紹一個例子代碼,以及他的輸出結果!

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #!/usr/bin/python from subprocess import * # Subprocess management,可以做很多子進程的文件,我們要引入這個文件 p = Popen(["cat", "-n"], bufsize=1024,stdin=PIPE, stdout=PIPE, close_fds=True) # 打開程序第一個參數是一個列表(程序名稱,參數) # 第二個參數是緩沖區大小 # stdin,stdout是設置是否打開這些管道,如果他的值是subprocess.PIPE的話, # 就會打開,同stdin一樣的還有stderr # close_fds設置為true(unix-only)所有的文件描述符除了(0,1,2)在子程序執行前都會關閉 (fin, fout) = (p.stdin, p.stdout) for i in range(10): # 你會懂的^_^ fin.write("line" + str(i)) fin.write('n') fin.flush() print fout.readline()

      他的輸出結果是:

      ?

    1 2 3 4 5 6 7 8 9 10 line0 line1 line2 line3 line4 line5 line6 line7 line8 line9

      希望本文所述對大家的Python程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved