Tôi đã viết một kịch bản python đơn giản cho ứng dụng của tôi và xác định trước một số lệnh nhanh chóng thích làm, vvLàm cách nào để nhận dữ liệu stdout của tiến trình con không đồng bộ?
Tôi đã viết một chức năng để chạy các lệnh hệ thống (Linux):
def runCommand(commandLine):
print('############## Running command: ' + commandLine)
p = subprocess.Popen(commandLine, shell = True, stdout = subprocess.PIPE)
print (p.stdout.read().decode('utf-8'))
Tất cả mọi thứ hoạt động tốt, ngoại trừ một vài điều:
Tôi đang sử dụng cmake và đầu ra của nó được tô màu. Bất kỳ cơ hội để tiết kiệm màu sắc trong đầu ra?
Tôi có thể xem kết quả sau khi quá trình kết thúc. Ví dụ: làm cho chạy trong một thời gian dài nhưng tôi chỉ có thể xem kết quả sau khi biên dịch đầy đủ. Làm thế nào để làm điều đó một cách không đồng bộ?
OK, cảm ơn. Nó hoạt động. – Ockonal