python 没有任何额外依赖关系的ipywidgets的文件选择类构建。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 没有任何额外依赖关系的ipywidgets的文件选择类构建。相关的知识,希望对你有一定的参考价值。
import os
import ipywidgets as widgets
class FileBrowser(object):
def __init__(self):
self.path = os.getcwd()
self._update_files()
def _update_files(self):
self.files = list()
self.dirs = list()
if(os.path.isdir(self.path)):
for f in os.listdir(self.path):
ff = self.path + "/" + f
if os.path.isdir(ff):
self.dirs.append(f)
else:
self.files.append(f)
def widget(self):
box = widgets.VBox()
self._update(box)
return box
def _update(self, box):
def on_click(b):
if b.description == '..':
self.path = os.path.split(self.path)[0]
else:
self.path = self.path + "/" + b.description
self._update_files()
self._update(box)
buttons = []
if self.files:
button = widgets.Button(description='..', background_color='#d0d0ff')
button.on_click(on_click)
buttons.append(button)
for f in self.dirs:
button = widgets.Button(description=f, background_color='#d0d0ff')
button.on_click(on_click)
buttons.append(button)
for f in self.files:
button = widgets.Button(description=f)
button.on_click(on_click)
buttons.append(button)
box.children = tuple([widgets.HTML("<h2>%s</h2>" % (self.path,))] + buttons)
# example usage:
# f = FileBrowser()
# f.widget()
# <interact with widget, select a path>
# in a separate cell:
# f.path # returns the selected path
以上是关于python 没有任何额外依赖关系的ipywidgets的文件选择类构建。的主要内容,如果未能解决你的问题,请参考以下文章
使用 qmake 生成对 MS VS 有额外依赖关系的 makefile
如果需求没有上传二进制文件,如何安装Python依赖关系?
在 python 中构建依赖关系图
使用一对一关系实现一对多关系,没有循环依赖
anaconda与python啥关系
多处理不会创建任何额外的进程