Jetzt habe ich einen Test file.dat, dass ich hedddump auf und legte die Ausgabe in eine hedddump.dat-Datei.Verwenden einer Variable in einem subprocess.Popen Befehl
subprocess.Popen(['hexdump file.dat > hexdump.dat' ], shell=True)
Als Randbemerkung, ich habe Vorschläge gesehen shell=True
nicht zu verwenden, aber ich erhalte im Wesentlichen den Fehler OSError: [Errno 2] No such file or directory
.
Also, ich möchte in der Lage sein, eine Variable oder ein Array, Dateien, anstelle der hardcoded "file.dat" übergeben. "Dateien" könnten eine Benutzereingabe oder ein Array/eine Liste sein, die von einem vorherigen Unterprozessabschnitt erzeugt wurden.
Ich habe einen Benutzereingabe Fall versucht:
from subprocess import Popen, PIPE, STDOUT
files = raw_input('File Name: ')
p = subprocess.Popen(['hexdump files > hexdump.dat' ], stdout=PIPE, stderr=STDOUT)
out,err = p.communicate(input=files)
Auch mit:
p = subprocess.Popen(['hexdump', inputs, ' > hexdump.dat' ], stdout=PIPE, stderr=STDOUT)
Danke für die Hilfe, ich weiß, ich bin nicht in geeigneter Weise die Struktur hier benötigt das Verständnis so einige „handholdy "Antworten würden geschätzt werden.
Was ist das Problem mit dem, was Sie versucht haben? – user312016
Fehlerausgang: Traceback (jüngste Aufforderung zuletzt): File "scratchpadDecoder.py", Zeile 47, in subprocess.Popen ([ 'hexdump file.dat> hexdump.dat']) Datei „/ dsw/python -2.7.1/lib/python2.7/subprocess.py ", Zeile 672, in __init__ errread, errrite) Datei" /dsw/python-2.7.1/lib/python2.7/subprocess.py ", Zeile 1202, in _execute_child raise child_exception –
stackofpancakes