显示下载按钮小部件。
当您希望为用户提供一种直接从您的应用下载文件的方式时,这很有用。
请注意,要下载的数据在用户连接时存储在内存中,因此最好将文件大小保持在几百兆字节以下以节省内存。
函数签名
st.download_button(label, data, file_name=None, mime=None, key=None, help=None, on_click=None, args=None, kwargs=None, *, disabled=False)
参数 | 说明 |
---|---|
label (str) | 一个简短的标签,向用户解释此按钮的用途。 |
data (str or bytes or file) | 要下载的文件的内容。请参阅下面的示例以了解缓存技术以避免不必要地重新计算此数据。 |
file_name (str) | 用作要下载的文件名的可选字符串,例如'my_file.csv'。如果未指定,将自动生成名称。 |
mime (str or None) | 数据的 MIME 类型。如果为 None,则默认为 "text/plain"(如果数据类型为 |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。如果省略,将根据其内容为小部件生成一个 key 。相同类型的多个小部件可能不共享相同的键。 |
help (str) | 将鼠标悬停在按钮上时显示的可选工具提示。 |
on_click (callable) | 单击此按钮时调用的可选回调。 |
args (tuple) | 传递给回调的可选参数元组。 |
kwargs (dict) | 一个可选的 kwargs 字典传递给回调。 |
disabled (bool) | 一个可选的布尔值,如果设置为 True,则禁用下载按钮。默认值为假。此参数只能由关键字提供。 |
返回 | 说明 |
(bool) | 如果在应用程序的最后一次运行中单击了按钮,则为 True,否则为 False。 |
例子
以 CSV 格式下载大型 DataFrame:
@st.cache
def convert_df(df):
# IMPORTANT: Cache the conversion to prevent computation on every rerun
return df.to_csv().encode('utf-8')
csv = convert_df(my_large_df)
st.download_button(
label="Download data as CSV",
data=csv,
file_name='large_df.csv',
mime='text/csv',
)
将字符串下载为文件:
text_contents = '''This is some text'''
st.download_button('Download some text', text_contents)
下载二进制文件:
binary_contents = b'example content'
# Defaults to 'application/octet-stream'
st.download_button('Download binary file', binary_contents)
下载图像:
with open("flower.png", "rb") as file:
btn = st.download_button(
label="Download image",
data=file,
file_name="flower.png",
mime="image/png"
)
相关用法
- Python Streamlit st.dataframe用法及代码示例
- Python Streamlit st.date_input用法及代码示例
- Python Streamlit st.experimental_singleton.clear用法及代码示例
- Python Streamlit st.bokeh_chart用法及代码示例
- Python Streamlit st.caption用法及代码示例
- Python Streamlit st.text_input用法及代码示例
- Python Streamlit st.area_chart用法及代码示例
- Python Streamlit st.title用法及代码示例
- Python Streamlit st.cache用法及代码示例
- Python Streamlit st.experimental_singleton用法及代码示例
- Python Streamlit st.empty用法及代码示例
- Python Streamlit st.error用法及代码示例
- Python Streamlit st.video用法及代码示例
- Python Streamlit st.vega_lite_chart用法及代码示例
- Python Streamlit st.slider用法及代码示例
- Python Streamlit st.header用法及代码示例
- Python Streamlit st.container用法及代码示例
- Python Streamlit st.form_submit_button用法及代码示例
- Python Streamlit st.form用法及代码示例
- Python Streamlit st.plotly_chart用法及代码示例
- Python Streamlit st.bar_chart用法及代码示例
- Python Streamlit st.code用法及代码示例
- Python Streamlit st.experimental_memo.clear用法及代码示例
- Python Streamlit st.warning用法及代码示例
- Python Streamlit st.image用法及代码示例
注:本文由纯净天空筛选整理自streamlit.io大神的英文原创作品 st.download_button。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。