Tôi đang điều chỉnh ứng dụng sử dụng nhiều máy phát để tạo ra các kết quả để cung cấp giao diện web.py.Tạo các trình tạo mã hóa Python
Cho đến nay, tôi có thể kết thúc cuộc gọi đến báo cáo vòng lặp và báo cáo sản xuất đầu ra trong một hàm và gọi đó bằng cách sử dụng cProfile.run()
hoặc runctx()
. Về mặt lý thuyết:
def output():
for value in generator():
print(value)
cProfile.run('output()')
Trong web.py, tôi phải quấn nó theo cách sau, kể từ khi tôi muốn ngay lập tức tạo ra từ việc tính toán có khả năng kéo dài trong mỗi bước lặp sử dụng yield
:
class index:
def GET(self):
for value in generator():
yield make_pretty_html(value)
Có cách nào để cấu hình tất cả các cuộc gọi đến máy phát như trong ví dụ đầu tiên khi nó được sử dụng như trong lần thứ hai?
Bạn có đơn giản muốn đo toàn bộ cuộc gọi hàm thay vì chỉ một lần lặp? Như trong 'cProfile.run ('list (index(). GET())')'? –
Về bản chất, đây là những gì cho vòng lặp hoàn thành. Vấn đề ở đây là tôi không có quyền kiểm soát các cuộc gọi đến 'GET()', nó được xử lý bởi 'web.py'. Hơn nữa, tôi không nghĩ rằng đầu ra sẽ được sản xuất theo cách đó nữa (sử dụng giá trị trả về). –