Necesito crear un archivo diff usando el estándar UNIX diff con python subproceso módulo. El problema es que debo comparar el archivo y la transmisión sin crear un archivo tempopary. Pensé en usar tubos con nombre a través del método os.mkfifo, pero no alcancé ningún resultado bueno. Por favor, ¿puedes escribir un ejemplo simple sobre cómo resolver esto? Probé este modo:¿Cómo se difiere el flujo de archivos y resultados "sobre la marcha"?
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)
pero parece que diff
no ve el segundo argumento.
Entonces, puede pasar 'stdin = PIPE' a la' llamada Popen' , y luego 'proc.stdin.write (data)'. – LeafStorm