Giải pháp là sử dụng một danh sách cho lệnh của bạn
command = ["exp", "userid=user/[email protected]", "file=dump.dmp"]
process = subprocess.Popen(command, stdout=subprocess.PIPE)
sau đó bạn đọc process.stdout theo từng dòng:
line = process.stdout.readline()
bằng cách đó, bạn có thể cập nhật GUI mà không cần chờ đợi. NẾU quy trình con mà bạn đang chạy (exp) sẽ xóa kết quả đầu ra. Có thể đầu ra đã được lưu vào bộ đệm, sau đó bạn sẽ không thấy gì cho đến khi bộ đệm đầu ra đầy. Nếu đúng như vậy thì có lẽ bạn đã không gặp may.