How to diff file and output stream "on-the-fly"?
diff, pipe, python, subprocess
Solution
You can use "-" as an argument to `diff` to mean `stdin`.
Problem
I need to create a diff file using standard UNIX diff command with python subprocess module. The problem is that I must compare file and stream without creating tempopary file. I thought about using named pipes via os.mkfifo method, but didn't reach any good result. Please, can you write a simple example on how to solve this stuff? I tried like so: ``` 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) ``` but it seems like `diff` doesn't see the second argument.