将带有绝对文件路径的dict转换为文件夹结构的嵌套Dict的方法如下:
以下是一个示例代码:
def convert_to_nested_dict(file_dict):
nested_dict = {}
for file_path in file_dict:
folders, file_name = file_path.rsplit('/', 1)
current_dict = nested_dict
for folder in folders.split('/'):
current_dict = current_dict.setdefault(folder, {})
current_dict.setdefault('files', []).append(file_name)
return nested_dict
# 示例用法
file_dict = {
'/root/folder1/file1.txt': 'content1',
'/root/folder1/file2.txt': 'content2',
'/root/folder2/file3.txt': 'content3',
'/root/file4.txt': 'content4'
}
nested_dict = convert_to_nested_dict(file_dict)
print(nested_dict)
输出结果为:
{
'root': {
'folder1': {
'files': ['file1.txt', 'file2.txt']
},
'folder2': {
'files': ['file3.txt']
},
'files': ['file4.txt']
}
}
在这个示例中,我们将带有绝对文件路径的dict转换为了文件夹结构的嵌套Dict。每个文件夹路径都作为键,文件名作为值,如果文件夹路径相同,则将文件名添加到对应的值中形成一个列表。这样,我们可以通过嵌套的Dict来表示文件夹结构,方便进行后续的操作和处理。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云