Tôi đang sử dụng một thư viện Python rằng làm điều gì đó cho một đối tượngLàm thế nào để nắm bắt đầu ra stdout từ một cuộc gọi hàm Python?
do_something(my_object)
và thay đổi nó. Trong khi làm như vậy, nó in một số số liệu thống kê để stdout, và tôi muốn có được một va li về thông tin này. Các giải pháp thích hợp sẽ được thay đổi do_something()
để trả lại thông tin liên quan,
out = do_something(my_object)
nhưng nó sẽ là một thời gian trước khi các nhà phát triển của do_something()
được vấn đề này. Để giải quyết vấn đề này, tôi đã suy nghĩ về việc phân tích cú pháp bất cứ điều gì do_something()
ghi vào chế độ stdout.
Làm thế nào tôi có thể nắm bắt đầu ra stdout giữa hai điểm trong các mã, ví dụ,
start_capturing()
do_something(my_object)
out = end_capturing()
?
có thể trùng lặp của [chụp kết quả dis.dis] (http://stackoverflow.com/questions/12111717/capturing-dis-dis-results) –
Câu trả lời của tôi trong câu hỏi được liên kết cũng áp dụng ở đây. –
tôi đã cố gắng để làm điều đó một lần và câu trả lời tốt nhất mà tôi tìm thấy là: câu trả lời http://stackoverflow.com/a/3113913/1330293 – elyase