Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Protokollausgabe des externen Programms mit (wx)python

Die Lösung besteht darin, eine Liste für Ihren Befehl zu verwenden

command = ["exp", "userid=user/[email protected]", "file=dump.dmp"]
process = subprocess.Popen(command, stdout=subprocess.PIPE)

dann lesen Sie process.stdout Zeile für Zeile:

line = process.stdout.readline()

Auf diese Weise können Sie die GUI aktualisieren, ohne zu warten. WENN Der von Ihnen ausgeführte Unterprozess (exp) löscht die Ausgabe. Es ist möglich, dass die Ausgabe gepuffert wird, dann sehen Sie nichts, bis der Ausgabepuffer voll ist. Wenn das der Fall ist, dann haben Sie wahrscheinlich Pech gehabt.