Wie Subprozess verwenden, wenn meine Temp-Datei-Argument in der Mitte des Befehls ist? Zum Beispiel sieht ein Terminal-Befehl wie folgt aus:Python: übergeben, um eine temporäre generierte Datei nicht als das letzte Argument zu verarbeiten
program subprogram -a -b tmpFILE otherFILE
I Variationen dieses versucht:
from subprocess import Popen, PIPE
from tempfile import SpooledTemporaryFile as tempfile
tmpFILE=tempfile()
tmpFILE.write(someList)
tmpFILE.seek(0)
print Popen(['program','subprogram', '-a', '-b', otherFile],stdout=PIPE,stdin=tmpFILE).stdout.read()
f.close()
oder
print Popen(['program','subprogram', '-a', '-b', tmpFILE, otherFile],stdout=PIPE,stdin=tmpFILE).stdout.read()
aber nichts funktioniert ... Meine temporäre generierte Datei in Python shouldn Sei nicht der letzte Parameter.
Dank
Versuchen Sie, 'tmpFILE.name' zu übergeben. –