提问人:Geoffrey Mungai 提问时间:3/22/2022 更新时间:3/22/2022 访问量:112
如何在 Python 中使用文件夹列表创建文件夹树字典?
How to create a folder tree dict using a list of folders in Python?
问:
我正在使用 Python 构建一个音乐播放器,我有一个类似 scandir 的函数,它返回包含音乐的所有文件夹的列表。
结果如下所示:
folders = [
"~/Music/",
"~/Music/Band On The Run (Standard)",
"~/Music/The life - Frank Sinatra",
"~/Music/Link to Music",
"~/Music/Link to Music/100 Dolly Parton",
"~/Music/Link to Music/JW-Unreleased/Fighting Demons",
"~/Music/Link to Music/JW-Unreleased/Goodbye and Good Riddance",
# a million more items
]
类似 scandir 的函数非常昂贵,因为它检查整个用户驱动器并且花费的时间不一致。
由于不一致,我想在后台定期运行该函数,并在接下来的 5 分钟内使用结果。
我想创建一个函数,该函数将使用上面的文件夹列表返回文件夹的所有子目录。例如,如果我传递给该函数,那么我可以得到一个包含其中所有直接子文件夹的列表,而无需使用:"~/Music/"
scandir()
def get_children(parent:str) -> List:
subfolders = []
# do something
return subfolders
get_children("~/Music/")
# ["Band On The Run (Standard)", "The life - Frank Sinatra", "Link to Music"]
如何实现这样的功能?
答: 暂无答案
评论
Path.glob('**/*')。
请看这个答案。