Мне нужно создать файл diff с помощью стандартной команды UNIX diff с модулем python subprocess Проблема в том, что я должен сравнивать файл и поток без создания временного файла. Я думал об использовании именованных каналов с помощью метода 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
не видит второй аргумент.