Oracle
 sql >> Base de données >  >> RDS >> Oracle

Journalisation de la sortie d'un programme externe avec (wx)python

La solution est d'utiliser une liste pour votre commande

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

puis vous lisez process.stdout ligne par ligne :

line = process.stdout.readline()

de cette façon, vous pouvez mettre à jour l'interface graphique sans attendre. SI le sous-processus que vous exécutez (exp) vide la sortie. Il est possible que la sortie soit mise en mémoire tampon, alors vous ne verrez rien jusqu'à ce que la mémoire tampon de sortie soit pleine. Si tel est le cas, vous n'avez probablement pas de chance.