gpt4 book ai didi

panel - 如何在 Panel Pyviz 小部件中显示函数的文本输出?

转载 作者:行者123 更新时间:2023-12-04 13:57:16 28 4
gpt4 key购买 nike

这似乎是一个基本问题,但我已经尝试了一段时间并没有找到 Pyviz Panel 的解决方案:

我试图通过单击按钮来触发函数,捕捉函数的输出并将它们打印在屏幕上所需的位置。
with output ipywidgets 中的功能是我希望实现的那种事情的一个很好的例子:

import ipywidgets as widgets
from IPython.display import display

button = widgets.Button(description="Click Me!")
output = widgets.Output()

display(button, output)

def on_button_clicked(b):
with output:
print("Button clicked.")

button.on_click(on_button_clicked)

但是,我不知道如何使用 Panel 来做到这一点。这是我在 Pyviz 面板中尝试的一个简单示例。
import panel as pn
pn.extension()
import panel.widgets as pnw

text_output_widget = pnw.StaticText(value='orginal output')
some_button = pnw.Button(name='test',button_type = 'primary')


def callbackfn(WatchedEvents):
text_output_widget.value = 'new output'
print('Function successfully run')
third_party_function() #prints a bunch of stuff


some_button.on_click(callbackfn)
pn.Column(some_button,text_output_widget)

但是, print('Function successfully run') 的输出 callbackfn() 中的声明功能在此过程中丢失。我如何捕捉这个文本输出?

编辑:
在 callbackfn 函数中添加了更多细节以更具体地表示我的用例。我必须运行由我以外的人编写的函数 ( third_party_function() )。这些函数打印东西,我不能(不允许)改变这些函数。

最佳答案

您可以添加 print代码中的语句,并在浏览器控制台中查看打印的语句。
Console output
您可以通过右键访问控制台 Ctrl+Shift+I在 Firefox 或 Chrome 中。
我也很沮丧,因为在使用面板时无法将任何内容打印到单元格输出中。这确实限制了调试能力。感谢 Panel Discourse 平台上的一位用户向我指出这一点。

关于panel - 如何在 Panel Pyviz 小部件中显示函数的文本输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59847714/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com