Ich muss eine Diff-Datei mit Standard UNIX diff Befehl mit Python Subprozess Modul erstellen. Das Problem ist, dass ich Datei und Stream vergleichen muss, ohne temporäre Datei zu erstellen. Ich dachte über Named Pipes über os.mkfifo Methode, aber erreichte kein gutes Ergebnis. Bitte, kannst du ein einfaches Beispiel schreiben, wie man dieses Zeug löst? Ich habe versucht, so wie:Wie kann Datei und Ausgabestream "on-the-fly" verändert werden?
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)
aber es scheint wie diff
nicht das zweite Argument sehen.
Dann können Sie 'stdin = PIPE' zum' Popen' Anruf übergeben und dann 'proc.stdin.write (data)'. – LeafStorm