Lösningen är att använda en lista för ditt kommando
command = ["exp", "userid=user/[email protected]", "file=dump.dmp"]
process = subprocess.Popen(command, stdout=subprocess.PIPE)
sedan läser du process.stdout rad för rad:
line = process.stdout.readline()
på så sätt kan du uppdatera GUI utan att vänta. OM underprocessen du kör (exp) tömmer utdata. Det är möjligt att utgången är buffrad, då ser du ingenting förrän utgångsbufferten är full. Om så är fallet har du förmodligen ingen tur.