在 Streamlit 中创建每秒变化的日期时间动态文本

Creating Dynamic Text of date time that changes every second in Streamlit

我想在 streamlit webui 上显示每 1 秒刷新一次的 datatime.now 的输出。

from datetime import datetime
datetime.now()
# print this output every one second
datetime.datetime(2020, 5, 19, 4, 22, 40, 921985)

我已经尝试过的


#!/usr/bin/env python3

import streamlit as st
from datetime import datetime

timenow = str(datetime.now())
st.write(timenow)

我想这取决于你是否需要正好一秒的分辨率,但解决方案大约是:

import time
from datetime import datetime
import streamlit as st

t = st.empty()

while True:
    t.markdown("%s" % str(datetime.now()))
    time.sleep(1)

while 循环使过程永远进行下去。通过在循环外调用 st.empty(),我们不断修改 t 变量。在每次循环重复时,markdown 字符串的值都会被 datetime.now() 参数覆盖。