Gradio实时输出的实现

在编写gradio的时候希望可以实时输出状态(控制台或者数字)
但是遇到了直接调用函数失效的情况。

经过折腾后,了解了正确构造的方式,现以一个demo来演示

import gradio as gr
from datetime import datetime


# 定义一个函数,返回当前的日期和时间。
def current_time():
    def inner():
        now = datetime.now()
        current_time = now.strftime("%Y-%m-%d %H:%M:%S")
        return f"欢迎使用,当前时间是: {current_time}"
    return inner

# 使用gr.Blocks创建一个Gradio
with gr.Blocks() as demo:
              
    gr.Markdown("# Gradio实时输出的实现")
    out_1 = gr.Textbox(label="实时状态",
            value=current_time(),
            every=1,
            info="当前时间",)
# 启动
demo.launch()

可以看到,需要嵌套一个def来正确调用

这个def的功能是这样的

inner_function = current_time()

inner_function()

#输出:'欢迎使用,当前时间是: 2023-11-06 22:25:26'

也就是经过这样写,传给Value的是一个函数而不是一个结果。

Gradio也就能正常调用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值