Python Bokeh-在仪表板中显示控制台输出

时间:2018-08-22 20:18:54

标签: python bokeh

是否可以创建bokeh仪表板的一部分来显示p​​ython会话的控制台输出?我正在使用bokeh创建一个前端仪表板,该仪表板运行一个过程可能需要一段时间,并且会执行很多工作,并且我想要一个部分来显示在此过程中执行的一些打印语句。理想情况下,我希望有一个小部件类型的对象,该对象可以直接在仪表板上显示输出。

1 个答案:

答案 0 :(得分:1)

一个简单的示例,使用列表操作系统消息的内容(带有html代码)更新Div元素。我认为您可以根据自己的需要进行调整:

from bokeh.layouts import column
from bokeh.io import curdoc
from bokeh.models import Button
from bokeh.models.widgets import Div

div = Div(
    text='',
    width=200,
    height=200
)

msg_list = []

def update_div():
    msg_num = len(msg_list)
    msg_list.append('{}: New message'.format(msg_num))
    m = ''
    for msg in msg_list:
        m += '<li>{}</li>'.format(msg)
    div.text = '<ul>{}</ul>'.format(m)

bt = Button(
    label="Update div",
    button_type="success",
    width=50
)

bt.on_click(update_div)

curdoc().add_root(
    column(children=[bt, div])
)