当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python Streamlit st.download_button用法及代码示例

显示下载按钮小部件。

当您希望为用户提供一种直接从您的应用下载文件的方式时,这很有用。

请注意,要下载的数据在用户连接时存储在内存中,因此最好将文件大小保持在几百兆字节以下以节省内存。

函数签名

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"(如果数据类型为 str 或文本 file )或 "application/octet-stream"(如果数据类型为 bytes 或二进制 file )。

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"
           )

相关用法


注:本文由纯净天空筛选整理自streamlit.io大神的英文原创作品 st.download_button。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。