ich möchte in einem Script mit os.popen ein Befehl ausführen, den Rückgabewert des Befehls überprüfen, und wenn es keinen Fehler gab, die Ausgabe des Befehls auswerten.
Code: Alles auswählen
dump = os.popen(r'dcmdump c:\powerbook.dcm')
if not dcmdump_return: #hier wird der noch nicht existierende return value abgefragt
for line in dump:
print line
dcmdump_return = dump.close()
Funktioniert natürlich nicht, weil dcmdump_return erst definiert wird, nachdem es bereits ausgelesen ist.
Als Lösung speichere ich die Zeilen aus dump erst in eine Liste, schließe dump, prüfe den return value, und bearbeite dann gegebenenfalls den Inhalt der Liste.
Code: Alles auswählen
dump = os.popen(r'dcmdump c:\powerbook.dcm')
dump_list = []
for line in dump:
dump_list.append(line)
dcmdump_return = dump.close()
if not dcmdump_return:
for line in dump_list:
print line