Streamlit 使用

简介

  Stream Lit 是一个能够使用python的网页部署客户端。
  安装可以参考官网安装教程
  StreamLit运行方式有多种,如下所示:

# 通过脚本文件本地运行 以下两种方式等价
python -m streamlit run your_script.py
streamlit run your_script.py

# 通过URL远程仓库运行
streamlit run https://raw.githubusercontent.com/streamlit/demo-uber-nyc-pickups/master/streamlit_app.py

  StreamLit 可以在检测到源文件更改时,询问是否重新运行,可以更改 Always rerun 使得自动更新。
  Streamlit 需要更新时,会从上至下的执行程序。所以通过 ctrl + c退出时,必须有个页面在运行。

回调函数

on_change on_click
checkbox ✔️
color_picker ✔️
date_input ✔️
multiselect ✔️
number_input ✔️
radio ✔️
select_slider ✔️
selectbox ✔️
slider ✔️
text_area ✔️
text_input ✔️
time_input ✔️
file_uploader ✔️
button ✔️
download_button ✔️
form_submit_button ✔️

API 文档及示例

状态控制

session_state

  该变量用于记录变量,从而保证每次重新运行时记录上次变量(每次与控件交互时,会重新运行脚本)。每个会话之间都会单独记录session,多个会话之间的不会重合。设计一个session用于记录按钮按下次数,每次按下时数据加1。代码实例如下所示:

import streamlit as st 

# 用于初始化变量,防止重复加载
if "button_counts" not in st.session_state:
    st.session_state["button_counts"] = 0

buttonFlag = st.button("按钮",key="button")

if buttonFlag==True:
    st.session_state["button_counts"] += 1
    
st.write(st.session_state["button_counts"])

  每次运行时界面记录+1,不同网页之间数据不相同(不同设备、同一设备不同界面都会单独计算)。

  每个空间的键值(key属性)将会自动添加到st.session_state中。实例代码如下:

cache_data | cache_resource

  用于缓存数据。使用缓存时,需要使用 cache_datacache_resource 进行修饰。如果streamlit首次看到缓存修饰符,将会运行代码并将返回值储存在缓存中,下次运行同样的函数和输入时,将会跳过执行直接返回缓存中的值作为替换。当功能代码更新时,缓存会自动更新。
   cache_data 建议缓存计算数据。例如载入从CSV导入的数据、转换的np数组、api、或者其它序列数据。他将会创建源数据的拷贝 。 运行如下代码时:

@st.cache_data  # 👈 Add the caching decorator
def load_data(url):
    df = pd.read_csv(url)
    return df

df = load_data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值