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


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


显示文件上传器小部件。

默认情况下,上传的文件限制为 200MB。您可以使用server.maxUploadSize配置选项。有关如何设置配置选项的更多信息,请参阅https://docs.streamlit.io/library/advanced-features/configuration#set-configuration-options

函数签名

st.file_uploader(label, type=None, accept_multiple_files=False, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False)
参数说明

label (str)

一个简短的标签,向用户解释此文件上传器的用途。

type (str or list of str or None)

允许的扩展名数组。 ['png', 'jpg'] 默认为无,表示允许所有扩展。

accept_multiple_files (bool)

如果为 True,则允许用户同时上传多个文件,在这种情况下,返回值将是文件列表。默认值:假

key (str or int)

一个可选的字符串或整数,用作小部件的唯一键。如果省略,将根据其内容为小部件生成一个 key 。相同类型的多个小部件可能不共享相同的键。

help (str)

显示在文件上传器旁边的工具提示。

on_change (callable)

当此 file_uploader 的值更改时调用的可选回调。

args (tuple)

传递给回调的可选参数元组。

kwargs (dict)

一个可选的 kwargs 字典传递给回调。

disabled (bool)

一个可选的布尔值,如果设置为 True,则禁用文件上传器。默认值为假。此参数只能由关键字提供。

返回说明

(None or UploadedFile or list of UploadedFile)

  • 如果 accept_multiple_files 为 False,则返回 None 或 UploadedFile 对象。
  • 如果 accept_multiple_files 为 True,则返回一个列表,其中包含上传的文件作为 UploadedFile 对象。如果没有上传文件,则返回一个空列表。

UploadedFile 类是 BytesIO 的子类,因此它是"file-like"。这意味着您可以将它们传递到预期文件的任何位置。

例子

插入一次接受单个文件的文件上传器:

uploaded_file = st.file_uploader("Choose a file")
if uploaded_file is not None:
     # To read file as bytes:
     bytes_data = uploaded_file.getvalue()
     st.write(bytes_data)

     # To convert to a string based IO:
     stringio = StringIO(uploaded_file.getvalue().decode("utf-8"))
     st.write(stringio)

     # To read file as string:
     string_data = stringio.read()
     st.write(string_data)

     # Can be used wherever a "file-like" object is accepted:
     dataframe = pd.read_csv(uploaded_file)
     st.write(dataframe)

插入一次接受多个文件的文件上传器:

uploaded_files = st.file_uploader("Choose a CSV file", accept_multiple_files=True)
for uploaded_file in uploaded_files:
     bytes_data = uploaded_file.read()
     st.write("filename:", uploaded_file.name)
     st.write(bytes_data)

相关用法


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