【问题标题】:How to access selected file name in Panel Fileinput widget?如何在面板文件输入小部件中访问选定的文件名?
【发布时间】:2019-06-22 08:57:32
【问题描述】:

我正在使用 python Panel Fileinput 小部件上传文件。上传工作,我需要用相同的文件名保存上传的数据,但我找不到访问上传文件名的方法。

import panel as pn
pn.extension()

file_input = pn.widgets.FileInput()
file_input

选择文件后,小部件会在其旁边显示文件名,但文件名不包含在对象中

file_input.get_param_values()

这些是示例文件“test.txt”的参数

[('align', 'start'),
 ('aspect_ratio', None),
 ('background', None),
 ('css_classes', None),
 ('disabled', False),
 ('height', None),
 ('height_policy', 'auto'),
 ('margin', (5, 10)),
 ('max_height', None),
 ('max_width', None),
 ('mime_type', 'text/plain'),
 ('min_height', None),
 ('min_width', None),
 ('name', ''),
 ('sizing_mode', None),
 ('value', b''),
 ('width', None),
 ('width_policy', 'auto')]

需要:file_input.filename 变量,用于访问上传的文件名。

【问题讨论】:

    标签: python file-io widget panel


    【解决方案1】:

    您使用的是哪个版本的面板?
    如果我使用面板 0.6.2 执行此操作,它适用于我:

    import panel as pn
    pn.extension()
    
    file_input = pn.widgets.FileInput()
    file_input
    
    file_input.get_param_values()
    


    在我选择一个文件之前,已经有以下属性:

    [('文件名', 无), ('值',无),]

    选择文件后,我看到以下属性:

    [('文件名', '屏幕截图 2019-04-04 at 18.42.55.png'), ('value', 图片文件的内容)]

    所以获取文件名,应该只是:

    file_input.filename
    

    获取文件,应该是:

    file_input.value
    

    【讨论】:

    • 对我来说,在 0.7.0 版上,完全重复您的步骤,我得到一个等于无的 file_input.filename。我得到了正确的file_input.value。有什么想法吗?
    【解决方案2】:

    这是一个bug,当然面板为 0.7.0 和散景 1.4.0(可能是由于散景的一些变化 - 没有调查)。 已在this PR 中修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2021-11-18
      • 2021-09-23
      • 1970-01-01
      • 2016-07-26
      相关资源
      最近更新 更多