Oracle
 sql >> Database >  >> RDS >> Oracle

Output di registrazione del programma esterno con (wx)python

La soluzione è usare un elenco per il tuo comando

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

quindi leggi process.stdout riga per riga:

line = process.stdout.readline()

in questo modo puoi aggiornare la GUI senza aspettare. SE il sottoprocesso in esecuzione (exp) svuota l'output. È possibile che l'output sia memorizzato nel buffer, quindi non vedrai nulla fino a quando il buffer di output non sarà pieno. Se è così, probabilmente sei sfortunato.