J'ai les éléments suivants dans une liste avec le format de la structure des répertoires.
[
'fold/2021/',
'fold/2021/11/',
'fold/2021/11/01/',
'fold/2021/11/01/123.gz',
'fold/2021/11/01/345.gz',
'fold/2021/12/',
'fold/2021/12/02/',
'fold/2022/'
]
J'en ai besoin dans la structure suivante de dictionnaires imbriqués :
{
"fold": {
"2021": {
"11": {
"01": {
"123.gz": None,
"345.gz": None
}
},
"12": {
"02": {}
}
},
"2022": {}
}
}
J'ai beaucoup essayé avec la récursion et d'autres méthodes, mais je n'arrive pas à obtenir cette structure.
Voici ce que j'ai essayé :
def get_directory_structure(path):
global main_dict
local_dict = {}
a = path.rstrip('/').split('/')
local_dict.setdefault(a[0], {})
if len(a) > 1:
return_dict = get_directory_structure(path[path.find('/')+1:])
local_dict[a[0]] = return_dict
if a[0] == 'fold':
main_dict.update(**local_dict)
return local_dict
main_dict = {}
for path in paths:
get_directory_structure(main_dict, path)
print(main_dict)
Veuillez m'aider. Je vous remercie.
Note : - Je n'ai pas le dossier sur mon PC. Je n'ai que les éléments de la liste