我需要使用標準UNIX diff命令創建diff文件,並使用python 子流程模塊。問題是我必須比較文件和流而不創建臨時文件。我想通過os.mkfifo方法使用命名管道,但沒有達到任何好的結果。請你能寫一個關於如何解決這個問題的簡單例子嗎?我試過像這樣:如何區分文件和輸出流「即時」?
fifo = 'pipe'
os.mkfifo(fifo)
op = popen('cat ', fifo)
print >> open(fifo, 'w'), output
os.unlink(fifo)
proc = Popen(['diff', '-u', dumpfile], stdin=op, stdout=PIPE)
但似乎diff
沒有看到第二個參數。
然後,你可以通過'標準輸入= PIPE'到'Popen'通話,然後'proc.stdin.write(data)'。 – LeafStorm 2010-01-07 18:14:42