FileUpload ipywidget:如何指定初始目录?

FileUpload ipywidget: how to specify initial directory?

我在 Jupyter 中使用 FileUpload ipywidget,并想指定起始目录。现在我有这个:

import ipywidgets as widgets
my_widget = widgets.FileUpload(accept='.json', multiple=False)

谷歌搜索并查看源代码后,我没有看到如何指定用户单击小部件时将打开的初始目录。在我们工作使用的工作站上,事情可能特别复杂,所以如果我可以将其添加为参数,将会节省很多时间。

除了使用 ipywidgets 在 Jupyter 中探索 directories/loading 文件之外,我对其他简单选项持开放态度,但它通常工作得很好。

如果重要的话,我在 Windows 10。

无法使用 FileUpload 小部件指定起始目录。这是由 ipywidgets in an issue devoted to this topic. Instead, you can use a different custom widget, the FileChooser in the ipyfilechooser repo 的开发人员验证的,可以做你想做的事。

首先,安装pip install ipyfilechooser

然后在你的笔记本中:

from ipyfilechooser import FileChooser

starting_directory = 'C:/foo'
chooser = FileChooser(starting_directory)
display(chooser)

查看您最有可能使用的一些属性:

print(chooser.selected_filename)
print(chooser.selected)
print(chooser.selected_path)

存储库中讨论了许多其他选项。

当然,一旦您获得了您关心的文件名的路径(例如,C:/foo/foo.json),那么您将不得不找出使用标准库打开文件的最佳方式.