【发布时间】:2021-10-26 16:49:02
【问题描述】:
我在 Jupyter 中使用了FileUpload ipywidget,并且想指定起始目录。现在我有这个:
import ipywidgets as widgets
my_widget = widgets.FileUpload(accept='.json', multiple=False)
谷歌搜索并查看源代码后,我没有看到如何指定用户单击小部件时将打开的初始目录。在我们工作中使用的工作站上,事情可能特别复杂,所以如果我可以将其添加为参数,将节省大量时间。
除了使用 ipywidgets 在 Jupyter 中探索目录/加载文件之外,我还愿意接受其他简单的选择,但它通常工作得很好。
如果重要的话,我在 Windows 10 中。
【问题讨论】:
-
我认为当前的 API 无法做到这一点,这可能是安全相关问题的一部分。除了被传输的文件数据,没有其他信息在小部件和用户之间来回传递。
-
@ac24 我注意到的是,在使用过一次之后,下次我使用它时会启动我之前加载文件的目录探索。如果我能弄清楚这是怎么发生的,然后重现它……嗯。
-
打开了一个关于这个问题的问题,其中一位开发人员同意你的看法,因为它是一个不提供此功能的 html 元素的包装器:github.com/jupyter-widgets/ipywidgets/issues/3305。我将探索
ipyfilechooser这是一种不同类型的小部件,并在我有时间时报告。 -
您可以做的另一个选择是结合
glob列出预先确定的目录中的本地文件,并使用下拉小部件列出它们。只要人们在本地运行笔记本,这将起作用,显然不会远程工作。 -
@ac24 好主意,如果你确定这是正确的目录(我通常坦率地说)。
标签: jupyter-notebook ipywidgets